v1.30.0
- Shell: Refine idle background completion auto-trigger — resumed shell sessions no longer auto-start a foreground turn from stale pending background notifications before the user sends a message, and fresh background completions now wait briefly while the user is actively typing to avoid stealing the prompt or breaking CJK IME composition
- Core: Fix interrupted foreground turns leaving unbalanced wire events —
TurnEndis now emitted even when a turn exits via cancellation or step interruption, preventing dirty session wire logs from accumulating across resume cycles - Core: Improve session startup resilience —
--continue/--resumenow tolerate malformedcontext.jsonlrecords and corrupted subagent, background-task, or notification artifacts; the CLI skips invalid persisted state where possible instead of failing to restore the session - CLI: Improve
kimi exportsession export UX —kimi exportnow previews the previous session for the current working directory and asks for confirmation, showing the session ID, title, and last user-message time; adds--yesto skip confirmation; also fixes explicit session-ID invocations where--outputafter the argument was incorrectly parsed as a subcommand - Grep: Add
include_ignoredparameter to search files excluded by.gitignore— when set totrue, ripgrep's--no-ignoreflag is enabled, allowing searches in gitignored artifacts such as build outputs ornode_modules; sensitive files (like.env) remain filtered by the sensitive-file protection layer; defaults tofalseto preserve existing behavior - Core: Add sensitive file protection to Grep and Read tools —
.env, SSH private keys (id_rsa,id_ed25519,id_ecdsa), and cloud credentials (.aws/credentials,.gcp/credentials) are now detected and blocked; Grep filters them from results with a warning, Read rejects them outright;.env.example/.env.sample/.env.templateare exempted - Core: Fix parallel foreground subagent approval requests hanging the session — in interactive shell mode,
_set_active_approval_sinkno longer flushes pending approval requests to the live view sink (which cannot render approval modals); requests stay in the pending queue for the prompt modal path; also adds a 300-second timeout towait_for_responseso that any unresolved approval request eventually raisesApprovalCancelledErrorinstead of hanging forever - CLI: Add
--session/--resume(-S/-r) flag to resume sessions — without an argument opens an interactive session picker (shell UI only); with a session ID resumes that specific session; replaces the reverted--pick-session/--list-sessionsdesign with a unified optional-value flag - CLI: Add CJK-safe
shorten()utility — replaces alltextwrap.shortencalls so that CJK text without spaces is truncated gracefully instead of collapsing to just the placeholder - Core: Fix skills in brand directories (e.g.
~/.kimi/skills/) silently disappearing when a generic directory (~/.config/agents/skills/) exists but is empty — skill directory discovery now searches brand and generic directory groups independently and merges both results, instead of stopping at the first existing directory across all candidates - Core: Add
merge_all_available_skillsconfig option — when enabled, skills from all existing brand directories (~/.kimi/skills/,~/.claude/skills/,~/.codex/skills/) are loaded and merged instead of using only the first one found; same-name skills follow priority order kimi > claude > codex; disabled by default - CLI: Add
--planflag anddefault_plan_modeconfig option — start new sessions in plan mode viakimi --planor by settingdefault_plan_mode = truein~/.kimi/config.toml; resumed sessions preserve their existing plan mode state - Shell: Add
/undoand/forkcommands for session forking —/undolets you pick a previous turn and fork a new session with the selected message pre-filled for re-editing;/forkduplicates the entire session history into a new session; the original session is always preserved - CLI: Add
-ras a short alias for--sessionand print a resume hint (kimi -r <session-id>) whenever a session exits — covers normal exit, Ctrl-C,/undo,/fork, and/sessionsswitch so users can always find their way back - Core: Fix
custom_headersnot being passed to non-Kimi providers — OpenAI, Anthropic, Google GenAI, and Vertex AI providers now correctly forward custom headers configured inproviders.*.custom_headers
Fetched June 4, 2026


