Skip to content

Configuration Reference

This page documents all configuration options available in kicode.

Configuration File

kicode stores configuration at:

~/.config/kicode/config.toml
  • Directory~/.config/
    • Directorykicode/
      • config.toml Your configuration file

Complete Configuration Example

~/.config/kicode/config.toml
# OpenRouter API key (required)
# Get one at https://openrouter.ai/keys
api_key = "sk-or-v1-your-api-key-here"
# Default model to use (optional)
# Defaults to: x-ai/grok-code-fast-1
model = "anthropic/claude-3.5-sonnet"
# Safety configuration
[safety]
# Additional regex patterns to flag as dangerous
# These are added to the built-in patterns
additional_patterns = [
"\\bmy-risky-script\\b",
"\\bdeploy-prod\\b"
]
# Commands that skip confirmation prompts
# Use with extreme caution
skip_confirmation = []

Configuration Options

api_key

PropertyValue
Typestring
RequiredYes (or via OPENROUTER_API_KEY env var)
DefaultNone

Your OpenRouter API key for authentication.

api_key = "sk-or-v1-abcd1234..."

model

PropertyValue
Typestring
RequiredNo
Defaultx-ai/grok-code-fast-1

The AI model to use. Must be a valid OpenRouter model ID.

model = "anthropic/claude-3.5-sonnet"

See Models Reference for available options.

[safety] Section

Configuration for command safety analysis.

additional_patterns

PropertyValue
Typearray of strings
RequiredNo
Default[]

Regex patterns for commands that should be flagged as dangerous in addition to the built-in patterns.

[safety]
additional_patterns = [
"\\bmy-deploy-script\\b",
"\\brm.*production\\b"
]

skip_confirmation

PropertyValue
Typearray of strings
RequiredNo
Default[]

Commands that should skip the safety confirmation prompt. Use with extreme caution.

[safety]
skip_confirmation = []

Environment Variables

Environment variables override config file settings.

VariableOverridesExample
OPENROUTER_API_KEYapi_keysk-or-v1-...
KICODE_MODELmodelopenai/gpt-4
KICODE_DEBUG(debug mode)1

Setting Environment Variables

Temporary (current session):

Terminal window
export OPENROUTER_API_KEY="sk-or-v1-..."
kicode

Permanent (add to shell profile):

Terminal window
# ~/.bashrc or ~/.zshrc
export OPENROUTER_API_KEY="sk-or-v1-..."

Configuration Priority

Settings are resolved in this order (later wins):

  1. Built-in defaults
  2. Config file (~/.config/kicode/config.toml)
  3. Environment variables (OPENROUTER_API_KEY, KICODE_MODEL)
  4. CLI arguments (--model)

Example:

Terminal window
# Config file has: model = "gpt-4"
# Environment has: KICODE_MODEL="claude-3"
# CLI has: --model opus
# Result: Uses "opus" (CLI wins)
kicode --model opus

Creating the Config File

Automatic (Setup Wizard)

Run kicode without configuration to launch the setup wizard:

Terminal window
kicode
# Follow the interactive prompts

Manual

Terminal window
# Create config directory
mkdir -p ~/.config/kicode
# Create config file
cat > ~/.config/kicode/config.toml << 'EOF'
api_key = "sk-or-v1-your-key-here"
model = "anthropic/claude-3.5-sonnet"
EOF

Validating Configuration

kicode validates your configuration on startup:

Terminal window
kicode
# If config is valid, you'll see the welcome message
# If invalid, you'll see an error with details

Common validation errors:

ErrorCauseFix
API key not foundNo key in config or envAdd api_key or set OPENROUTER_API_KEY
Invalid config fileSyntax error in TOMLCheck TOML syntax

Config File Locations by Platform

PlatformLocation
macOS~/.config/kicode/config.toml
Linux~/.config/kicode/config.toml
Windows%APPDATA%\kicode\config.toml