frontmatter PAR AVION

Settings

Settings ~/.kimi-code/config.toml Vendor docs

config

name type required meaning concept
background.bash_auto_background_on_timeout string
Move a foreground `Bash` command to a background task on timeout instead of killing it; set to `false` to kill timed-out foreground commands instead
docs ↗
background.bash_task_timeout_s string
Default timeout (seconds) for background `Bash` tasks when the call omits `timeout`; `0` means no timeout. Explicit per-call `timeout` values are unaffected; print mode defaults to `0`
docs ↗
background.keep_alive_on_exit string
Whether to keep still-running background tasks when the session closes; in print mode only a fallback when `print_background_mode` is unset (`true` = `drain`)
docs ↗
background.kill_grace_period_ms string
Grace period in milliseconds after a task is asked to terminate; still-running tasks are force-stopped when it elapses
docs ↗
background.max_running_tasks string
Maximum number of background tasks running concurrently
docs ↗
background.print_background_mode string
Print mode only: how pending background tasks are handled when the main agent's turn ends; `"exit"` exits immediately, `"drain"` waits for terminal states without feeding results back, `"steer"` injects completions as synthetic user messages steering new turns until none are pending
docs ↗
background.print_max_turns string
Maximum number of new turns triggered by background-task completions in `"steer"` mode; keeps the steering loop bounded
docs ↗
background.print_wait_ceiling_s string
Wall-clock ceiling (seconds) for the print-mode wait/steer loop; no effect outside print mode or with `"exit"`
docs ↗
builtin_product_skills string
Whether the built-in skills that document Kimi Code itself are offered to the model
docs ↗
default_model string
Default model alias; must be defined in `models`
docs ↗
default_permission_mode string
Default permission mode for new sessions: `manual`, `yolo`, or `auto`. See the three permission modes
docs ↗
default_plan_mode string
Whether new sessions start in Plan mode by default
docs ↗
extra_agent_dirs string
Extra custom agent search directories, layered on top of the default directories
docs ↗
extra_skill_dirs string
Extra skill search directories, layered on top of the default directories
docs ↗
identity.name string
Display name the agent calls itself in the system prompt (fills the `${product_name}` slot, including in your own `SYSTEM.md` and agent files)
docs ↗
identity.slug string
Machine identifier in protocol fields (`User-Agent` product token, MCP client name); derived from `name` when omitted: lowercased, non-alphanumeric runs folded to `-`
docs ↗
image.max_edge_px string
Longest-edge ceiling in pixels; larger images scale down proportionally. Raising it preserves more detail at the cost of larger request bodies
docs ↗
image.read_byte_budget string
Per-image byte budget for images the model reads for itself (`ReadMediaFile` default reads); `region` and `full_resolution` read-backs are exempt
docs ↗
loop_control.max_attempts_per_step string
Maximum total attempts for a failing step, including the initial attempt
docs ↗
loop_control.max_steps_per_turn string
Maximum steps per turn; unset or `0` means unlimited
docs ↗
loop_control.reserved_context_size string
Number of tokens reserved for model output; automatic compaction is triggered when the remaining context window falls below this value
docs ↗
mcp.startup_timeout_ms string
Global default connection (startup + tool discovery) timeout in milliseconds for all MCP servers; a per-server `startupTimeoutMs` in `mcp.json` wins
docs ↗
mcp.tool_timeout_ms string
Global default single tool-call timeout in milliseconds for all MCP servers; a per-server `toolTimeoutMs` in `mcp.json` wins
docs ↗
merge_all_available_skills string
Whether to merge Agent Skills from all available directories
docs ↗
models.adaptive_thinking string
`anthropic` provider only; force adaptive thinking on or off, omit to infer from the model name (Claude ≥ 4.6 uses adaptive)
docs ↗
models.base_url string
Per-model endpoint override (written by catalog imports); takes precedence over the provider's `base_url`, only effective together with `protocol`
docs ↗
models.capabilities string
Capability tags added explicitly: `thinking`, `always_thinking`, `image_in`, `video_in`, `audio_in`, `tool_use`; only ever added, never removed
docs ↗
models.default_effort string
Default thinking effort for the model; managed and open-platform refreshes may rewrite it. Pin via model overrides
docs ↗
models.display_name string
Name shown in the UI; falls back to `model` when unset
docs ↗
models.max_context_size string
Maximum context length in tokens; must be at least 1
docs ↗
models.max_input_size string
Declared per-request input limit; compaction, context-overflow checks, and usage ratios prefer it, completion budgeting keeps the total window
docs ↗
models.max_output_size string
Per-request output token cap (maps to `max_tokens`); currently only the `anthropic` provider reads it
docs ↗
models.model string
Model identifier sent to the server when calling the API
docs ↗
models.off_effort string
Effort value sent on the wire to disable thinking (e.g. `none` for xai grok); the only way to actually stop reasoning on models that reason by default
docs ↗
models.provider string
Name of the provider to use; must be defined in `providers`
docs ↗
models.reasoning_key string
`openai` provider only; set when the gateway returns reasoning content under a non-standard field name (`reasoning_content` and friends are auto-detected)
docs ↗
models.support_efforts string
Thinking effort levels the model accepts; unsupported values fall back to `default_effort`, out-of-list values fail; managed refreshes may rewrite it (pin via overrides)
docs ↗
permission.decision string
Action on match: `allow` (permit immediately), `deny` (reject immediately), `ask` (prompt each time)
docs ↗
permission.pattern string
Match pattern in the form `ToolName` or `ToolName(arg-pattern)`, e.g. `Read` or `Bash(rm -rf*)`
docs ↗
permission.reason string
Rule description for debugging and auditing
docs ↗
permission.scope string
Rule scope: `turn-override`, `session-runtime`, `project`, `user`; defaults to `user`
docs ↗
providers.api_key string
API key, written in plain text in the config file
docs ↗
providers.base_url string
API base URL
docs ↗
providers.custom_headers string
Custom HTTP headers attached to each request
docs ↗
providers.env string
Fallback source for provider credentials; see the `env` sub-table
docs ↗
providers.oauth string
OAuth credential reference (`storage` and `key` fields); injected automatically by the login flow, so you normally never write this by hand
docs ↗
providers.type string
Provider type: `kimi`, `anthropic`, `openai`, `openai_responses`, `google-genai`, `vertexai`
docs ↗
services.api_key string
API key
docs ↗
services.base_url string
Service API URL
docs ↗
services.custom_headers string
Custom HTTP headers attached to each request
docs ↗
services.oauth string
OAuth credential reference, same structure as `providers.*.oauth`
docs ↗
subagent.timeout_ms string
Maximum wall-clock time (milliseconds) a single `Agent` subagent may run before it is settled as `timed_out`; `0` means no timeout
docs ↗
swarm.timeout_ms string
Maximum wall-clock time (milliseconds) a single `AgentSwarm` subagent may run; on timeout it is aborted and the aggregated report marks `Subagent timed out.`; `0` means no timeout
docs ↗
telemetry string
Whether anonymous telemetry is enabled; disabled only when explicitly set to `false`
docs ↗
thinking.default_thinking string docs ↗
thinking.effort string
Thinking effort: `low` / `medium` / `high` / `xhigh` / `max`; falls back to the model default when not in its supported list
docs ↗
thinking.enabled string
Whether Thinking is enabled by default for new sessions; set to `false` to force Thinking off
docs ↗
thinking.keep string
Preserved Thinking passthrough: `kimi` sends it as `thinking.keep`, `anthropic` as a `clear_thinking_20251015` edit (routes to the beta Messages API). An off-value disables it; overridden by `KIMI_MODEL_THINKING_KEEP`; injected only while Thinking is on
docs ↗
thinking.loop_control.max_retries_per_step string docs ↗
token_counting.strategy string
`measured+estimated` combines measured usage with an estimate of the unmeasured tail; `measured` reports provider usage alone, updated when a request completes; `estimated` is a pure estimate, for providers that do not report usage
docs ↗
tools.disabled string
Global denylist, applied after `enabled`
docs ↗
tools.enabled string
Global allowlist: when non-empty, only the listed tools are available; omitting the field or setting an empty array imposes no constraint
docs ↗
tui.toml.cache_expiry_hint string
On resume or when submitting after a long idle stretch, warn that the context cache may have expired and offer to compact or start a new session (v2 engine only)
docs ↗
tui.toml.disable_feedback_survey string
Disable the occasional session rating prompt above the input box
docs ↗
tui.toml.disable_paste_burst string
Disable the non-bracketed paste-burst fallback that keeps rapid multi-line pastes from submitting line by line
docs ↗
tui.toml.editor.command string
External editor command for composing long input; empty falls back to `$VISUAL` / `$EDITOR`
docs ↗
tui.toml.notifications.enabled string
Whether desktop notifications are sent
docs ↗
tui.toml.notifications.notification_condition string
When to notify: `unfocused` (only when the terminal is not focused) or `always`
docs ↗
tui.toml.render_latex string
Render LaTeX math expressions in Markdown messages as Unicode text; `false` keeps the raw source
docs ↗
tui.toml.status_line.command string
Custom status line command: its first stdout line replaces the footer, and a JSON snapshot is passed on stdin; capped at 300ms, throttled to once per second, failures fall back to the built-in layout
docs ↗
tui.toml.status_line.items string
Built-in slots on the first footer line and their order: `mode`, `goal`, `model`, `tasks`, `cwd`, `git`, `tips`; unknown ids are skipped with a warning
docs ↗
tui.toml.theme string
Color theme: `auto`, `dark`, `light`, or the name of a custom theme
docs ↗
tui.toml.upgrade.auto_install string
Whether new versions are installed automatically
docs ↗
workspace.additional_dir string
Additional workspace directories (absolute paths); written automatically when you confirm "remember this directory" in `/add-dir`, and available in every session of this project
docs ↗