Skip to content

Configuration

kicode uses a simple configuration file and environment variables. This guide covers all configuration options.

Configuration File

kicode stores its configuration at:

~/.config/kicode/config.toml

Basic Configuration

Here’s a minimal configuration file:

~/.config/kicode/config.toml
# Your OpenRouter API key
api_key = "sk-or-v1-..."
# Default model to use
model = "anthropic/claude-3.5-sonnet"

Full Configuration

~/.config/kicode/config.toml
# OpenRouter API key (required)
api_key = "sk-or-v1-your-key-here"
# Default model (optional, defaults to x-ai/grok-code-fast-1)
model = "anthropic/claude-3.5-sonnet"
# Safety settings
[safety]
# Additional patterns to flag as dangerous (regex)
additional_patterns = [
"\\bmy-custom-dangerous-command\\b"
]
# Commands that skip confirmation (use with caution)
skip_confirmation = []

Getting an API Key

  1. Sign up for OpenRouter

    Visit openrouter.ai and create an account.

  2. Generate an API key

    Go to openrouter.ai/keys and create a new key.

  3. Configure kicode

    Run the setup wizard or manually add the key:

    Terminal window
    # Option 1: Run setup wizard
    kicode
    # (Follow the prompts)
    # Option 2: Set environment variable
    export OPENROUTER_API_KEY="sk-or-v1-your-key"
    # Option 3: Edit config file
    mkdir -p ~/.config/kicode
    echo 'api_key = "sk-or-v1-your-key"' > ~/.config/kicode/config.toml

Environment Variables

Environment variables override config file settings:

VariableDescriptionExample
OPENROUTER_API_KEYAPI key for OpenRoutersk-or-v1-...
KICODE_MODELOverride default modelopenai/gpt-4
KICODE_DEBUGEnable debug output1

Setting Environment Variables

Terminal window
# Add to ~/.bashrc or ~/.zshrc for persistence
export OPENROUTER_API_KEY="sk-or-v1-your-key-here"
# Or set per-session
OPENROUTER_API_KEY="sk-or-v1-..." kicode

Configuration Priority

Settings are applied in this order (later overrides earlier):

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

Example:

Terminal window
# Uses CLI argument over all other settings
kicode --model openai/gpt-4-turbo

Model Selection

kicode supports any model available through OpenRouter. Common choices:

ModelIDBest For
Claude 3.5 Sonnetanthropic/claude-3.5-sonnetGeneral coding, complex tasks
GPT-4 Turboopenai/gpt-4-turboBroad knowledge, long context
Grok Code Fastx-ai/grok-code-fast-1Fast responses (default)
Claude 3 Opusanthropic/claude-3-opusMost capable, higher cost

See Models Reference for a complete list.

Safety Configuration

The [safety] section controls command safety analysis:

[safety]
# Add custom patterns to flag as dangerous
additional_patterns = [
"\\bmy-risky-script\\b",
"\\bdeploy-to-prod\\b"
]
# Skip confirmation for specific safe commands (advanced)
skip_confirmation = []

Configuration Directory Structure

  • Directory~/.config/kicode/
    • config.toml Main configuration file

Validating Configuration

Check your configuration is valid:

Terminal window
# Start kicode - it will report config errors
kicode
# Check model is set correctly
kicode --model invalid-model
# Error: Unknown model: invalid-model

Next Steps

Learn how to use kicode in your First Session.