- Web: Add subagent activity rendering to display subagent steps (thinking, tool calls, text) inside Task tool messages
- Web: Add Think tool rendering as a lightweight reasoning-style block
- Web: Replace emoji status indicators with Lucide icons for tool states and add category-specific icons for tool names
- Web: Enhance Reasoning component with improved thinking labels and status icons
- Web: Enhance Todo component with status icons and improved styling
- Web: Implement WebSocket reconnection with automatic request resending and stale connection watchdog
- Web: Enhance session creation dialog with command value handling
- Web: Support tilde (
~) expansion in session work directory paths - Web: Fix assistant message content overflow clipping
- Wire: Fix deadlock when multiple subagents run concurrently by not blocking the UI loop on approval and tool-call requests
- Wire: Clean up stale pending requests after agent turn ends
- Web: Show placeholder text in prompt input with hints for slash commands and file mentions
- Web: Fix Ctrl+C not working in uvicorn web server by restoring default SIGINT handler and terminal state after shell mode exits
- Web: Improve session stop handling with proper async cleanup and timeout
- Web: Move context usage indicator from workspace header to prompt toolbar with a hover card showing detailed token usage breakdown
- Web: Add folder indicator with work directory path to the bottom of the file changes panel
- Web: Fix stderr not being restored when switching to web mode, which could suppress web server error output
- Web: Fix port availability check by setting SO_REUSEADDR on the test socket
- Web: Add copy and fork action buttons to assistant messages for quick content copying and session forking
- Web: Add keyboard shortcuts for approval actions — press
1to approve,2to approve for session,3to decline - Web: Add message queueing — queue follow-up messages while the AI is processing; queued messages are sent automatically when the response completes
- Web: Replace Git diff status bar with unified prompt toolbar showing activity status, message queue, and file changes in collapsible tabs
- Web: Load global MCP configuration in web worker so web sessions can use MCP tools
- Web: Improve mobile prompt input UX — reduce textarea min-height, add
autoComplete="off", and disable focus ring on small screens - Web: Handle models that stream text before thinking by ensuring thinking messages always appear before text in the message list
- Web: Show more specific status messages during session connection ("Loading history...", "Starting environment..." instead of generic "Connecting...")
- Web: Send error status when session environment initialization fails instead of leaving UI in a waiting state
- Web: Auto-reconnect when no session status received within 15 seconds after history replay completes
- Web: Use non-blocking file I/O in session streaming to avoid blocking the event loop during history replay
- Config: Add
default_yoloconfig option to enable YOLO (auto-approve) mode by default - Config: Accept both
max_steps_per_turnandmax_steps_per_runas aliases for the loop control setting - Wire: Add
replayrequest to stream recorded Wire events (protocol version 1.3) - Web: Add session fork feature to branch off a new session from any assistant response
- Web: Add session archive feature with auto-archive for sessions older than 15 days
- Web: Add multi-select mode for bulk archive, unarchive, and delete operations
- Web: Add media preview for tool results (images/videos from ReadMediaFile) with clickable thumbnails
- Web: Add shell command and todo list display components for tool outputs
- Web: Add activity status indicator showing agent state (processing, waiting for approval, etc.)
- Web: Add error fallback UI when images fail to load
- Web: Redesign tool input UI with expandable parameters and syntax highlighting for long values
- Web: Show compaction indicator when context is being compacted
- Web: Improve auto-scroll behavior in chat for smoother following of new content
- Web: Update
last_session_idfor work directory when session stream starts - Shell: Remove
Ctrl-/keyboard shortcut that triggered/helpcommand - Rust: Move the Rust implementation to
MoonshotAI/kimi-agent-rswith independent releases; binary renamed tokimi-agent - Core: Preserve session id when reloading configuration so the session resumes correctly
- Shell: Fix session replay showing messages that were cleared by
/clearor/reset - Web: Fix approval request states not updating when session is interrupted or cancelled
- Web: Fix IME composition issue when selecting slash commands
- Web: Fix UI not clearing messages after
/clear,/reset, or/compactcommands
- CLI: Fix startup errors (e.g. invalid config files) being silently swallowed instead of displayed
- Rust: Add
kagent, the Rust implementation of Kimi agent kernel with wire-mode support (experimental) - Auth: Fix OAuth token refresh conflicts when running multiple sessions simultaneously
- Web: Add file mention menu (
@) to reference uploaded attachments and workspace files with autocomplete - Web: Add slash command menu in chat input with autocomplete, keyboard navigation, and alias support
- Web: Prompt to create directory when specified path doesn't exist during session creation
- Web: Fix authentication token persistence by switching from sessionStorage to localStorage with 24-hour expiry
- Web: Add server-side pagination for session list with virtualized scrolling for better performance
- Web: Improve session and work directories loading with smarter caching and invalidation
- Web: Fix WebSocket errors during history replay by checking connection state before sending
- Web: Git diff status bar now shows untracked files (new files not yet added to git)
- Web: Restrict sensitive APIs only in public mode; update origin enforcement logic
- Web: Add token-based authentication and access control for network mode (
--network,--lan-only,--public) - Web: Add security options:
--auth-token,--allowed-origins,--restrict-sensitive-apis,--dangerously-omit-auth - Web: Change
--hostoption to bind to specific IP address; add automatic network address detection - Web: Fix WebSocket disconnect when creating new sessions
- Web: Increase maximum image dimension from 1024 to 4096 pixels
- Web: Improve UI responsiveness with enhanced hover effects and better layout handling
- Wire: Add
TurnEndevent to signal the completion of an agent turn (protocol version 1.2) - Core: Fix custom agent prompt files containing
$causing silent startup failure
- Web: Add Git diff status bar showing uncommitted changes in session working directory
- Web: Add "Open in" menu for opening files/directories in Terminal, VS Code, Cursor, or other local applications
- Web: Add search functionality to filter sessions by title or working directory
- Web: Improve session title display with proper overflow handling
- Shell: Merge
/loginand/setupcommands;/setupis now an alias for/login - Shell:
/usagenow shows remaining quota percentage; add/statusalias - Config: Add
KIMI_SHARE_DIRenvironment variable to customize the share directory path (default:~/.kimi) - Web: Add new Web UI for browser-based interaction
- CLI: Add
kimi websubcommand to launch the Web UI server - Auth: Fix encoding error when device name or OS version contains non-ASCII characters
- Auth: OAuth credentials are now stored in files instead of keyring; existing tokens are automatically migrated on startup
- Auth: Fix authorization failure after the system sleeps or hibernates
- Auth: Fix authentication issue during agent turns
- Tool: Wrap media content with descriptive tags in
ReadMediaFilefor better path traceability
- UI: Show description for
kimi-for-codingmodel
- LLM: Fix
kimi-for-codingmodel's capabilities
- Shell: Add
/loginand/logoutslash commands for login and logout - CLI: Add
kimi loginandkimi logoutsubcommands - Core: Fix subagent approval request handling
- MCP: Remove
Mcp-Session-Idheader when connecting to MCP servers to fix compatibility
- Shell: Fix Markdown rendering error when HTML blocks appear outside any element
- Skills: Add more user-level and project-level skills directory candidates
- Core: Improve system prompt guidance for media file generation and processing tasks
- Shell: Fix image pasting from clipboard on macOS
- Build: Fix binary builds
- Shell: Cache pasted images to disk for persistence across sessions
- Shell: Deduplicate cached attachments based on content hash
- Shell: Fix display of image/audio/video attachments in message history
- Tool: Use file path as media identifier in
ReadMediaFilefor better traceability - Tool: Fix some MP4 files not being recognized as videos
- Shell: Handle Ctrl-C during slash command execution
- Shell: Fix shlex parsing error in shell mode when input contains invalid shell syntax
- Shell: Fix stderr output from MCP servers and third-party libraries polluting shell UI
- Wire: Graceful shutdown with proper cleanup of pending requests when connection closes or Ctrl-C is received
- Build: Add cross-platform standalone binary builds for Windows, macOS (with code signing and notarization), and Linux (x86_64 and ARM64)
- Shell: Fix slash command autocomplete showing suggestions for exact command/alias matches
- Tool: Treat SVG files as text instead of images
- Flow: Support D2 markdown block strings (
|mdsyntax) for multiline node labels in flow skills - Core: Fix possible "event loop is closed" error after running
/reload,/setup, or/clear - Core: Fix panic when
/clearis used in a continued session
- Tool: Add
ReadMediaFiletool for reading image/video files;ReadFilenow focuses on text files only - Skills: Flow skills now also register as
/skill:<skill-name>commands (in addition to/flow:<skill-name>)
- Tool: Allow
WriteFileandStrReplaceFiletools to edit/write files outside the working directory when using absolute paths - Tool: Upload videos to Kimi files API when using Kimi provider, replacing inline data URLs with
ms://references - Config: Add
reserved_context_sizesetting to customize auto-compaction trigger threshold (default: 50000 tokens)
- Skills: Add flow skill type with embedded Agent Flow (Mermaid/D2) in SKILL.md, invoked via
/flow:<skill-name>commands - CLI: Remove
--prompt-flowoption; use flow skills instead - Core: Replace
/begincommand with/flow:<skill-name>commands for flow skills
- Wire: Add
initializemethod for exchanging client/server info, external tools registration and slash commands advertisement - Wire: Support external tool calls via Wire protocol
- Wire: Rename
ApprovalRequestResolvedtoApprovalResponse(backwards-compatible)
- Skills: Add project-level skills support, discovered from
.agents/skills/(or.kimi/skills/,.claude/skills/) - Skills: Unified skills discovery with layered loading (builtin → user → project); user-level skills now prefer
~/.config/agents/skills/ - Shell: Support fuzzy matching for slash command autocomplete
- Shell: Enhanced approval request preview with shell command and diff content display, use
Ctrl-Eto expand full content - Wire: Add
ShellDisplayBlocktype for shell command display in approval requests - Shell: Reorder
/helpto show keyboard shortcuts before slash commands - Wire: Return proper JSON-RPC 2.0 error responses for invalid requests
- CLI: Add D2 flowchart format support for Prompt Flow (
.d2extension)
- Shell: Fix line breaking in
/helpand/changelogfullscreen pager display - Shell: Use
/modelto toggle thinking mode instead of Tab key - Config: Add
default_thinkingconfig option (need to run/modelto select thinking mode after upgrade) - LLM: Add
always_thinkingcapability for models that always use thinking mode - CLI: Rename
--command/-cto--prompt/-p, keep--command/-cas alias, remove--query/-q - Wire: Fix approval requests not responding properly in Wire mode
- CLI: Add
--prompt-flowoption to load a Mermaid flowchart file as a Prompt Flow - Core: Add
/beginslash command if a Prompt Flow is loaded to start the flow - Core: Replace Ralph Loop with Prompt Flow-based implementation
- Tool: Make
ReadFiletool description reflect model capabilities for image/video support - Tool: Fix TypeScript files (
.ts,.tsx,.mts,.cts) being misidentified as video files - Shell: Allow slash commands (
/help,/exit,/version,/changelog,/feedback) in shell mode - Shell: Improve
/helpwith fullscreen pager, showing slash commands, skills, and keyboard shortcuts - Shell: Improve
/changelogand/mcpdisplay with consistent bullet-style formatting - Shell: Show current model name in the bottom status bar
- Shell: Add
Ctrl-/shortcut to show help
- Tool: Improve
ReadFiletool description - Skills: Add built-in
kimi-cli-helpskill to answer Kimi Code CLI usage and configuration questions
- ACP: Allow ACP clients to select and switch models (with thinking variants)
- ACP: Add
terminal-authauthentication method for setup flow - CLI: Deprecate
--acpoption in favor ofkimi acpsubcommand - Tool: Support reading image and video files in
ReadFiletool
- Skills: Add built-in skill-creator skill shipped with the package
- Tool: Expand
~to the home directory inReadFilepaths - MCP: Ensure MCP tools finish loading before starting the agent loop
- Wire: Fix Wire mode failing to accept valid
cancelrequests - Setup: Allow
/modelto switch between all available models for the selected provider - Lib: Re-export all Wire message types from
kimi_cli.wire.types, as a replacement ofkimi_cli.wire.message - Loop: Add
max_ralph_iterationsloop control config to limit extra Ralph iterations - Config: Rename
max_steps_per_runtomax_steps_per_turnin loop control config (backward-compatible) - CLI: Add
--max-steps-per-turn,--max-retries-per-stepand--max-ralph-iterationsoptions to override loop control config - SlashCmd: Make
/yolotoggle auto-approve mode - UI: Show a YOLO badge in the shell prompt
- Python: Fix installation on Python 3.14.
- ACP: Route file reads/writes and shell commands through ACP clients for synced edits/output
- Shell: Add
/modelslash command to switch default models and reload when using the default config - Skills: Add
/skill:<name>slash commands to loadSKILL.mdinstructions on demand - CLI: Add
kimi infosubcommand for version/protocol details (supports--json) - CLI: Add
kimi termto launch the Toad terminal UI - Python: Bump the default tooling/CI version to 3.14
- CLI: Add
--final-message-only(and--quietalias) to only output the final assistant message in print UI - LLM: Add
video_inmodel capability and support video inputs
- Core: Support discovering skills in
~/.kimi/skillsor~/.claude/skills - Python: Lower the minimum required Python version to 3.12
- Nix: Add flake packaging; install with
nix profile install .#kimi-clior runnix run .#kimi-cli - CLI: Add
kimi-cliscript alias for invoking the CLI; can be run viauvx kimi-cli - Lib: Move LLM config validation into
create_llmand returnNonewhen missing config
- CLI: Add
--configand--config-fileoptions to pass in config JSON/TOML - Core: Allow
Configin addition toPathfor theconfigparameter ofKimiCLI.create - Tool: Include diff display blocks in
WriteFileandStrReplaceFileapprovals/results - Wire: Add display blocks to approval requests (including diffs) with backward-compatible defaults
- ACP: Show file diff previews in tool results and approval prompts
- ACP: Connect to MCP servers managed by ACP clients
- ACP: Run shell commands in ACP client terminal if supported
- Lib: Add
KimiToolset.findmethod to find tools by class or name - Lib: Add
ToolResultBuilder.displaymethod to append display blocks to tool results - MCP: Add
kimi mcp authand related subcommands to manage MCP authorization
- ACP: Advertise slash commands in single-session ACP mode (
kimi --acp) - MCP: Add
mcp.clientconfig section to configure MCP tool call timeout and other future options - Core: Improve default system prompt and
ReadFiletool - UI: Fix Ctrl-C not working in some rare cases
- Lib: Provide
token_usageandmessage_idinStatusUpdateWire message - Lib: Add
KimiToolset.load_toolsmethod to load tools with dependency injection - Lib: Add
KimiToolset.load_mcp_toolsmethod to load MCP tools - Lib: Move
MCPToolfromkimi_cli.tools.mcptokimi_cli.soul.toolset - Lib: Add
InvalidToolError,MCPConfigErrorandMCPRuntimeError - Lib: Make the detailed Kimi Code CLI exception classes extend
ValueErrororRuntimeError - Lib: Allow passing validated
list[fastmcp.mcp_config.MCPConfig]asmcp_configsforKimiCLI.createandload_agent - Lib: Fix exception raising for
KimiCLI.create,load_agent,KimiToolset.load_toolsandKimiToolset.load_mcp_tools - LLM: Add provider type
vertexaito support Vertex AI - LLM: Rename Gemini Developer API provider type from
google_genaitogemini - Config: Migrate config file from JSON to TOML
- MCP: Connect to MCP servers in background and parallel to reduce startup time
- MCP: Add
mcp-session-idHTTP header when connecting to MCP servers - Lib: Split slash commands (prev "meta commands") into two groups: Shell-level and KimiSoul-level
- Lib: Add
available_slash_commandsproperty toSoulprotocol - ACP: Advertise slash commands
/init,/compactand/yoloto ACP clients - SlashCmd: Add
/mcpslash command to display MCP server and tool status
- Lib: Support creating named sessions via
Session.create(work_dir, session_id) - CLI: Automatically create new session when specified session ID is not found
- CLI: Delete empty sessions on exit and ignore sessions whose context file is empty when listing
- UI: Improve session replaying
- Lib: Add
model_config: LLMModel | Noneandprovider_config: LLMProvider | Noneproperties toLLMclass - MetaCmd: Add
/usagemeta command to show API usage for Kimi Code users
- UI: Fix UTF-16 surrogate characters input on Windows
- Core: Add
/sessionsmeta command to list existing sessions and switch to a selected one - CLI: Add
--session/-Soption to specify session ID to resume - MCP: Add
kimi mcpsubcommand group to manage global MCP config file~/.kimi/mcp.json
- Tool: Fix
FetchURLtool incorrect output when fetching via service fails - Tool: Use
bashinstead ofshinShelltool for better compatibility - Tool: Fix
Greptool unicode decoding error on Windows - ACP: Support ACP session continuation (list/load sessions) with
kimi acpsubcommand - Lib: Add
Session.findandSession.liststatic methods to find and list sessions - ACP: Update agent plans on the client side when
SetTodoListtool is called - UI: Prevent normal messages starting with
/from being treated as meta commands
- ACP: Fix tool results (including Shell tool output) not being displayed in ACP clients like Zed
- ACP: Fix compatibility with the latest version of Zed IDE (0.215.3)
- Tool: Use PowerShell instead of CMD on Windows for better usability
- Core: Fix startup crash when there is broken symbolic link in the working directory
- Core: Add builtin
okabeagent file withSendDMailtool enabled - CLI: Add
--agentoption to specify builtin agents likedefaultandokabe - Core: Improve compaction logic to better preserve relevant information
- Lib: Fix logging when used as a library
- Tool: Harden file path check to protect against shared-prefix escape
- LLM: Improve compatibility with some third-party OpenAI Responses and Anthropic API providers
- LLM: Fix interleaved thinking for Kimi and OpenAI-compatible providers
- Core: Move context file location to
.kimi/sessions/{workdir_md5}/{session_id}/context.jsonl - Lib: Move
WireMessagetype alias tokimi_cli.wire.message - Lib: Add
kimi_cli.wire.message.Requesttype alias request messages (which currently only includesApprovalRequest) - Lib: Add
kimi_cli.wire.message.is_event,is_requestandis_wire_messageutility functions to check the type of wire messages - Lib: Add
kimi_cli.wire.serdemodule for serialization and deserialization of wire messages - Lib: Change
StatusUpdateWire message to not usingkimi_cli.soul.StatusSnapshot - Core: Record Wire messages to a JSONL file in session directory
- Core: Introduce
TurnBeginWire message to mark the beginning of each agent turn - UI: Print user input again with a panel in shell mode
- Lib: Add
Session.dirproperty to get the session directory path - UI: Improve "Approve for session" experience when there are multiple parallel subagents
- Wire: Reimplement Wire server mode (which is enabled with
--wireoption) - Lib: Rename
ShellApptoShell,PrintApptoPrint,ACPServertoACPandWireServertoWireOverStdiofor better consistency - Lib: Rename
KimiCLI.run_shell_modetorun_shell,run_print_modetorun_print,run_acp_servertorun_acp, andrun_wire_servertorun_wire_stdiofor better consistency - Lib: Add
KimiCLI.runmethod to run a turn with given user input and yield Wire messages - Print: Fix stream-json print mode not flushing output properly
- LLM: Improve compatibility with some OpenAI and Anthropic API providers
- Core: Fix chat provider error after compaction when using Anthropic API
- Core: Fix field inheritance of agent spec files when using
extend - Core: Support using MCP tools in subagents
- Tool: Add
CreateSubagenttool to create subagents dynamically (not enabled in default agent) - Tool: Use MoonshotFetch service in
FetchURLtool for Kimi Code plan - Tool: Truncate Grep tool output to avoid exceeding token limit
- LLM: Fix Google GenAI provider when thinking toggle is not on
- UI: Improve approval request wordings
- Tool: Remove
PatchFiletool - Tool: Rename
Bash/CMDtool toShelltool - Tool: Move
Tasktool tokimi_cli.tools.multiagentmodule
- LLM: Add support for Google GenAI provider
- Lib: Add
kimi_cli.app.enable_loggingfunction to enable logging when directly usingKimiCLIclass - Core: Fix relative path resolution in agent spec files
- Core: Prevent from panic when LLM API connection failed
- Tool: Optimize
FetchURLtool for better content extraction - Tool: Increase MCP tool call timeout to 60 seconds
- Tool: Provide better error message in
Globtool when pattern is** - ACP: Fix thinking content not displayed properly
- UI: Minor UI improvements in shell mode
- Lib: Move
WireMessagefromkimi_cli.wire.messagetokimi_cli.wire - Print: Fix
stream-jsonoutput format missing the last assistant message - UI: Add warning when API key is overridden by
KIMI_API_KEYenvironment variable - UI: Make a bell sound when there's an approval request
- Core: Fix context compaction and clearing on Windows
- UI: Remove unnecessary trailing spaces in console output
- Core: Throw error when there are unsupported message parts
- MetaCmd: Add
/yolometa command to enable YOLO mode after startup - Tool: Add approval request for MCP tools
- Tool: Disable
Thinktool in default agent - CLI: Restore thinking mode from last time when
--thinkingis not specified - CLI: Fix
/reloadnot working in binary packed by PyInstaller
- CLI: Remove
--uioption in favor of--print,--acp, and--wireflags (shell is still the default) - CLI: More intuitive session continuation behavior
- Core: Add retry for LLM empty responses
- Tool: Change
Bashtool toCMDtool on Windows - UI: Fix completion after backspacing
- UI: Fix code block rendering issues on light background colors
- Lib: Rename
Soul.modeltoSoul.model_name - Lib: Rename
LLMModelCapabilitytoModelCapabilityand move tokimi_cli.llm - Lib: Add
"thinking"toModelCapability - Lib: Remove
LLM.supports_image_inproperty - Lib: Add required
Soul.model_capabilitiesproperty - Lib: Rename
KimiSoul.set_thinking_modetoKimiSoul.set_thinking - Lib: Add
KimiSoul.thinkingproperty - UI: Better checks and notices for LLM model capabilities
- UI: Clear the screen for
/clearmeta command - Tool: Support auto-downloading ripgrep on Windows
- CLI: Add
--thinkingoption to start in thinking mode - ACP: Support thinking content in ACP mode
- Improve UI look and feel
- Improve Task tool observability
- Minor UX improvements
- Support Kimi K2 thinking mode
- Fix Ctrl-W not working in some environments
- Do not load SearchWeb tool when the search service is not configured
- Introduce Wire over stdio for local IPC (experimental, subject to change)
- Support Anthropic provider type
- Fix binary packed by PyInstaller not working due to wrong entrypoint
- Allow
KIMI_MODEL_CAPABILITIESenvironment variable to override model capabilities - Add
--no-markdownoption to disable markdown rendering - Support
openai_responsesLLM provider type
- Fix crash when continuing a session
- Improve startup time
- Fix potential invalid bytes in user input
- Basic Windows support (experimental)
- Display warnings when base URL or API key is overridden in environment variables
- Support image input if the LLM model supports it
- Replay recent context history when continuing a session
- Ensure new line after executing shell commands
- Support Ctrl-J or Alt-Enter to insert a new line
- Change mode switch shortcut from Ctrl-K to Ctrl-X
- Improve overall robustness
- Fix ACP server
no attributeerror
- Fix a bug for Glob tool when no matching files are found
- Ensure reading files with UTF-8 encoding
- Disable reading command/query from stdin in shell mode
- Clarify the API platform selection in
/setupmeta command
- Support
ESCkey to interrupt the agent loop
- Fix SSL certificate verification error in some rare cases
- Fix possible decoding error in Bash tool
- Fix context compaction threshold check
- Fix panic when SOCKS proxy is set in the shell session
- Minor UX improvements
- Fix update checking
- Add
/debugmeta command to debug the context - Add auto context compaction
- Add approval request mechanism
- Add
--yolooption to automatically approve all actions - Render markdown content for better readability
- Fix "unknown error" message when interrupting a meta command
- Minor UI improvements
- Auto download ripgrep if not found in the system
- Always approve tool calls in
--printmode - Add
/feedbackmeta command
- Add
/updatemeta command to check for updates and auto-update in background - Support running interactive shell commands in raw shell mode
- Add
/setupmeta command to setup LLM provider and model - Add
/reloadmeta command to reload configuration
- Add
/versionmeta command - Add raw shell mode, which can be switched to by Ctrl-K
- Show shortcuts in bottom status line
- Fix logging redirection
- Merge duplicated input histories
- Add bottom status line
- Support file path auto-completion (
@filepath)
- Do not auto-complete meta command in the middle of user input
- Fix step interrupting by Ctrl-C, for real
- Add
/compactmeta command to allow manually compacting context
- Fix
/clearmeta command when context is empty
- Support Enter key to accept completion in shell mode
- Remember user input history across sessions in shell mode
- Add
/resetmeta command as an alias for/clear
- Fix step interrupting by Ctrl-C
- Disable
SendDMailtool in Kimi Koder agent
- Add
/initmeta command to analyze the codebase and generate anAGENTS.mdfile - Add
/clearmeta command to clear the context
- Fix
ReadFileoutput
- Add
--mcp-config-fileand--mcp-configoptions to load MCP configs
- Rename
--agentoption to--agent-file
- Fix possible encoding error in
--output-format stream-jsonmode
- Rename package name
ensoultokimi-cli - Rename
ENSOUL_*builtin system prompt arguments toKIMI_* - Further decouple
AppwithSoul - Split
Soulprotocol andKimiSoulimplementation for better modularity
- Fix ACP
cancelmethod
- Add
extendfield to agent file to support agent file extension - Add
exclude_toolsfield to agent file to support excluding tools - Add
subagentsfield to agent file to support defining subagents
- Improve
SearchWebandFetchURLtool call visualization - Improve search result output format
- Add
--printoption as a shortcut for--ui print,--acpoption as a shortcut for--ui acp - Support
--output-format stream-jsonto print output in JSON format - Add
SearchWebtool withservices.moonshot_searchconfiguration. You need to configure it with"services": {"moonshot_search": {"api_key": "your-search-api-key"}}in your config file. - Add
FetchURLtool - Add
Thinktool - Add
PatchFiletool, not enabled in Kimi Koder agent - Enable
SendDMailandTasktool in Kimi Koder agent with better tool prompts - Add
ENSOUL_NOWbuiltin system prompt argument
- Better-looking
/release-notes - Improve tool descriptions
- Improve tool output truncation
- Add
--ui acpoption to start Agent Client Protocol (ACP) server
- Support piped stdin for print UI
- Support
--input-format=stream-jsonfor piped JSON input
- Do not include
CHECKPOINTmessages in the context whenSendDMailis not enabled
- Support
max_context_sizein LLM model configurations to configure the maximum context size (in tokens)
- Improve
ReadFiletool description
- Fix step count in error message when exceeded max steps
- Fix history file assertion error in
kimi_run - Fix error handling in print mode and single command shell mode
- Add retry for LLM API connection errors and timeout errors
- Increase default max-steps-per-run to 100
- Add
SendDMailtool (disabled in Kimi Koder, can be enabled in custom agent)
- Session history file can be specified via
_history_fileparameter when creating a new session
- Improve tool robustness
- Add
StrReplaceFiletool
- Emphasize the use of the same language as the user
- Add
SetTodoListtool - Add
User-Agentin LLM API calls
- Better system prompt and tool description
- Better error messages for LLM
- Add
printUI mode, which can be used via--ui printoption - Add logging and
--debugoption
- Catch EOF error for better experience
- Rename
max_retry_per_steptomax_retries_per_step
- Add
/release-notescommand - Add retry for LLM API errors
- Add loop control configuration, e.g.
{"loop_control": {"max_steps_per_run": 50, "max_retry_per_step": 3}}
- Better extreme cases handling in
read_filetool - Prevent Ctrl-C from exiting the CLI, force the use of Ctrl-D or
exitinstead
- Make slash commands look slightly better
- Improve
globtool
- Add
read_filetool - Add
write_filetool - Add
globtool - Add
tasktool
- Improve tool call visualization
- Improve session management
- Restore context usage when
--continuea session
- Remove
--sessionand--continueoptions
- Fix config model dumping
- Add
shelltool and basic system prompt - Add tool call visualization
- Add context usage count
- Support interrupting the agent loop
- Support project-level
AGENTS.md - Support custom agent defined with YAML
- Support oneshot task via
kimi -c