Skip to content

Config Overrides ​

Kimi Code CLI configuration can be set through multiple methods, with different sources overriding each other by priority.

Priority ​

Configuration priority from highest to lowest:

  1. Environment variables - Highest priority, for temporary overrides or CI/CD environments
  2. CLI flags - Flags specified at startup
  3. Configuration file - ~/.kimi/config.toml or file specified via --config-file

CLI flags ​

FlagDescription
--config <TOML/JSON>Pass configuration content directly, overrides default config file
--config-file <PATH>Specify configuration file path, replaces default ~/.kimi/config.toml

--config and --config-file cannot be used together.

FlagDescription
--model, -m <NAME>Specify model name to use

The model specified by --model must be defined in the configuration file's models. If not specified, uses default_model from the configuration file.

FlagDescription
--thinkingEnable thinking mode
--no-thinkingDisable thinking mode
--yolo, --yes, -yAuto-approve all tool calls (user still reachable for AskUserQuestion)
--afkAway-from-keyboard: auto-approve all tool calls and auto-dismiss AskUserQuestion
--planStart in plan mode

--thinking / --no-thinking overrides the thinking state saved from the last session. If not specified, uses the last session's state.

--plan enables plan mode for new sessions; when resuming an existing session, it forces plan mode on. You can also set default_plan_mode = true in the config file to start new sessions in plan mode by default.

Environment variable overrides ​

Environment variables can override provider and model settings without modifying the configuration file. This is particularly useful in the following scenarios:

  • Injecting keys in CI/CD environments
  • Temporarily testing different API endpoints
  • Switching between multiple environments

Environment variables take effect based on the current provider type:

  • kimi type providers: Use KIMI_* environment variables
  • openai_legacy or openai_responses type providers: Use OPENAI_* environment variables
  • Other provider types: Environment variable overrides not supported

See Environment Variables for the complete list.

Example:

sh
KIMI_API_KEY="sk-xxx" KIMI_MODEL_NAME="kimi-k2-thinking-turbo" kimi

Configuration priority example ​

Assume the configuration file ~/.kimi/config.toml contains:

toml
default_model = "kimi-for-coding"

[providers.kimi-for-coding]
type = "kimi"
base_url = "https://api.kimi.com/coding/v1"
api_key = "sk-config"

[models.kimi-for-coding]
provider = "kimi-for-coding"
model = "kimi-for-coding"
max_context_size = 262144

Here are the configuration sources in different scenarios:

Scenariobase_urlapi_keymodel
kimiConfig fileConfig fileConfig file
KIMI_API_KEY=sk-env kimiConfig fileEnvironment variableConfig file
kimi --model otherConfig fileConfig fileCLI flag
KIMI_MODEL_NAME=k2 kimiConfig fileConfig fileEnvironment variable