Kimi CLI changelog
The last 25 stable releases of Kimi CLI, newest first, with the lines that remove, rename or deprecate something pulled out on top. Taken from the GitHub releases every morning.
Breaking changes and deprecations
- 1.50.0
- feat(shell): deprecation-aware update flow with one-key migration to Kimi Code
Latest releases
-
- feat(cli): short-circuit entry points to a Kimi Code installer
-
- chore: archive kimi-cli and point users to Kimi Code CLI
- chore(release): bump kimi-cli to 1.51.0
-
- Breaking feat(shell): deprecation-aware update flow with one-key migration to Kimi Code
- fix(kosong): omit empty anthropic-beta header when no beta features declared
- chore(release): bump kosong to 0.56.0
- feat(shell): deprecation-aware update flow with one-key migration to Kimi Code
- chore(release): bump kimi-cli to 1.50.0
-
- fix(kimi): use remaining context for completion budget
- fix(kosong): preserve empty-string reasoning_content as ThinkPart
- fix(kosong): stop sending Kimi reasoning effort implicitly
- feat(telemetry): align events with TS schema, add trace_id and missing events
- chore(release): bump kimi-cli to 1.49.0 and kosong to 0.55.0
-
- fix(kosong): round-trip empty reasoning content
- feat(soul): escalate repeated-tool-call reminders and force-stop on dead-end streak
- chore(release): bump kimi-cli to 1.48.0 and kosong to 0.54.0
-
- fix(tools): include trailing output in error briefs and render brief as plain text
- docs: rename project to Kimi CLI and link to Kimi Code CLI successor
- feat(shell): guide users to upgrade to the new Kimi Code
- chore(release): bump kimi-cli to 1.47.0
-
- docs: announce evolution to Kimi Code successor project
- docs: fix router auto language redirect
- feat(shell): update welcome tip link to kimi.com/code and support styled Text
- fix(acp): replay session history on load
- fix(term, app): prevent TTY hang on exit and close MCP connections during shutdown
- docs: update evolution banner to announce rebuilt CLI release
- chore(release): bump kimi-cli to 1.46.0
-
- fix(shell): Fix misleading "Quota exceeded" prefix shown on every 403 error
- feat(toolset): improve dedup with sparse reminders and canonical args
- chore(release): bump kimi-cli to 1.45.0
-
- refactor(telemetry): track btw side question as tool_call event
- chore(release): bump kimi-cli and kimi-code to 1.44.0
-
- feat(ui): improve shell spacing, link highlighting and notification duration
- feat(telemetry): polish event schema with outcome enum, lifecycle tracking and error enrichment
- fix(soul): keep subagent plan-mode reminders safe
- chore(skills): upgrade release and gen-changelog skills
- fix(mcp): upgrade FastMCP OAuth storage
- ci: build macOS x64 CLI release artifact
- fix(deps): bump pillow to 12.2.0 for CVE-2026-25990
- feat(toolset): add tool call deduplication for same-step and cross-step repeats
- chore(release): bump kimi-cli and kimi-code to 1.43.0
-
- fix(soul): clear partial UI output when LLM step is retried
- fix(tests): unbreak main CI after
- fix(shell): register /btw slash command
- refactor(windows): switch Shell backend from PowerShell to git-bash
- feat(telemetry): add app_name and build_sha with remote provenance to context
- chore(release): bump kimi-cli to 1.42.0
-
- fix(clipboard): enable clipboard paste on headless Linux over SSH
- fix(plugin): support installing from .zip URL
- chore(release): bump kimi-cli to 1.41.0
-
- fix(shell): show active agent task count in prompt status bar
- fix(auth): recover OAuth flows after transient failures
- fix(shell): correct /usage remaining quota display
- fix(shell): echo workflow slash inputs
- docs: Update changelog
- fix(soul): re-inject yolo reminder after context compaction
- fix(approval): scope pending requests to turn lifecycle
- chore(config): raise default max_steps_per_turn from 500 to 1000
- fix(chat-provider): preserve refreshed OAuth token on connection recovery
- feat(telemetry): implement session tracking and telemetry server
-
- fix(shell): approval request text input should render caret correctly
- feat(kimi): add KIMI_MODEL_THINKING_KEEP env for preserved thinking
- feat(soul): add inject_yolo_prompt config to suppress yolo mode prompt injection
- fix(kosong/kimi): fill in missing JSON Schema type for MCP tool parameters
- fix(kosong/kimi): omit content field on empty assistant tool-call messages
- fix(kimi): default openai_legacy reasoning_key to fix DeepSeek 400
- fix(skill): scope-group the skills system prompt and honor project overrides
- chore(release): bump kimi-cli 1.39.0 and kosong 0.52.0
-
- feat(telemetry): integrate telemetry tracking across interactive and …
- fix(kosong/anthropic): merge parallel tool_results into one user msg
- fix(install): fix uv not found error on Windows
- fix(soul): carry approval cancellation feedback to ApprovalResult
- fix(auth): do not delete credentials file on a single refresh 401
- chore(release): bump kimi-cli to 1.38.0 and kosong to 0.51.0
-
- docs(config): clarify quoted TOML keys for dotted model names
- feat(auth): auto-refresh managed models at startup and surface API display_name
- fix(soul): keep agent loop alive while background tasks are running
- chore(release): bump kimi-cli to 1.37.0
-
- feat(core): increase default max_steps_per_turn from 100 to 500
- fix(shell): show moon spinner fallback during all active turn gaps
- fix(build): set PYINSTALLER_ONEDIR env in Makefile and fix skills path in frozen env
- revert: undo accidentally-pushed anthropic thinking effort refactor
- fix(web): Fix unresponsive copy, download, and preview buttons on rendered code blocks
- fix(web): Fix markdown rendering spacing in the web UI
- feat(kosong): Opus 4.7 adaptive thinking support and extended effort levels
- chore(release): bump kimi-cli to 1.36.0 and kosong to 0.50.0
-
- docs(release-notes): fix misplaced 1.34.0 entries under Unreleased EN/ZH changelogs
- fix(web): clear stale in-flight prompts on error to prevent session busy deadlock
- fix(web): prevent watchdog reconnect during pending approval or question
- feat(shell): default show_thinking_stream to true
- chore: bump kimi-cli 1.35.0
-
- docs: update en/zh docs for new features and tool changes
- fix(diff): align inline highlight offsets with tab-expanded text
- feat(shell): add show_thinking_stream config and minor UX fixes
- fix(background): keep cancelled task strong reference until runner cleans up
- chore: bump kimi-cli 1.34.0
-
- refactor: unify managed model display as "Kimi for Code"
- chore: bump kimi-cli 1.33.0
-
- fix(pyinstaller): include lazy CLI subcommands
- fix(tools): truncate MCP tool output and handle unsupported content types
- feat(shell): compact thinking indicator with animated dots
- chore: bump kimi-cli 1.32.0
-
- fix(shell): prevent Rich default markdown styles from leaking background colors
- feat(tools): add totalLines and tail mode to ReadFile tool
- fix(todo): refactor SetTodoList to persist state and prevent tool call storms
- fix(shell): use git ls-files for @ file mention in large repos
- feat(logging): add diagnostic logging at key error paths and bundle logs in export
- feat(btw): add /btw side question command with unified input routing and dual-layer rendering
- feat(shell): add Ctrl+A directory scope toggle to /sessions picker
- fix(shell): exit gracefully with crash report when CWD is removed during session
- fix(shell): slash completion accept+submit in single Enter
- fix(shell): exclude empty current session from session picker
-
- fix: resolve full PowerShell path on Windows
- fix: add path validation and fallback for Windows PowerShell detection
- feat(cli): add --plan flag and default_plan_mode config
- fix(skill): merge brand and generic skill directories instead of stopping at first existing
- feat(cli): add --session/--resume flag with interactive picker and CJK-safe shorten
- fix(approval): prevent parallel subagent approval hang in interactive shell
- feat(grep): add include_ignored param and sensitive file protection
- feat(shell): add /undo and /fork commands with session exit resume hint
- feat(cli): improve export session UX
- fix: handle subagent exceptions gracefully instead of returning None
-
- fix(web): prevent auto-title from overwriting manual session rename
- docs: fix subject-verb agreement in CONTRIBUTING.md
- fix(message): ensure tool results with only non-text content include a TextPart
- fix(system): inject OS and shell info into system prompt for Windows compatibility
- refactor(subagent): extract shared prepare_soul logic and fix background concurrent resume race
- feat(explore): enhance explore agent with specialist role, thoroughness levels, and environment context
- fix(console): ignore MANPAGER env var in pager to prevent garbled output
- fix(shell): strip OSC 8 hyperlink sequences in render_to_ansi
- feat(session): add /title slash command and unify session state into state.json
- fix(proxy): normalize socks:// to socks5:// in proxy env vars
-
- fix(skills): restore --skills-dir override behavior
- fix(cli): update --skills-dir help text
- refactor(skills): rename extra_skills_dirs to skills_dirs
- feat(vis): enhance tracing visualizer with network access, /vis command, and richer event display
- feat(hooks): add lifecycle hooks system (Wire 1.7)
- fix(ids): update task ID format and validation regex
- fix(shell): expand pasted text placeholders in modal answers before sending to model
- feat(open-in): remember last-used open target with split button UX
- fix: filter notification messages from session replay and export
- fix(web): show "100+" for archived sessions count when more pages exist
Other agents
Claude CodeCodex CLIGemini CLICopilot CLIopencodeHermes AgentQwen CodeGooseMistral VibeCrushAiderCline All agents →
Run Kimi CLI next to the other agents and see when one needs you: AgentVera keeps them in one window on Mac, Windows and Linux, and on your phone.
Bring your agents to one desk.
Download, pick a project, open your first agent. Your installed CLIs are ready to go.