Skip to main content

Configuration

ak-coder stores global config in ~/.ak-coder/config.json. It is created automatically on first run. Project-level overrides merge on top from .ak-coder/config.json in the workspace root.

Minimal config (Ollama)

{
"activeProvider": "ollama",
"providers": {
"ollama": {
"apiKey": "ollama",
"baseUrl": "http://127.0.0.1:11434/v1",
"model": "gemma3:4b"
}
}
}

Multi-provider config

{
"activeProvider": "openrouter",
"providers": {
"ollama": {
"apiKey": "ollama",
"baseUrl": "http://127.0.0.1:11434/v1",
"model": "gemma3:4b"
},
"openrouter": {
"apiKey": "sk-or-v1-...",
"baseUrl": "https://openrouter.ai/api/v1",
"model": "google/gemma-3-27b-it:free"
},
"gemini": {
"apiKey": "AIza...",
"baseUrl": "https://generativelanguage.googleapis.com/v1beta/openai",
"model": "gemini-1.5-flash"
}
}
}

Config fields

FieldDescription
activeProviderWhich provider key to use by default
providers.<name>.baseUrlOpenAI-compatible endpoint URL
providers.<name>.apiKeyAPI key ("ollama" for local Ollama)
providers.<name>.modelModel name string
providers.<name>.costInputInput cost per 1M tokens (for /budget)
providers.<name>.costOutputOutput cost per 1M tokens
assistantNameLabel for assistant messages in the REPL (default: AKCoder)
systemNameProduct name in the banner (default: ak-coder)
contextTokensMax context window size (default: 128000)
mcpServersMCP server definitions (merged with project config)

Provider presets for groq, gemini, deepseek, and openrouter are auto-populated on first load if missing, using environment variables when available.

REPL commands for config

/providers — list providers and switch interactively
/providers select ollama — switch active provider
/providers set ollama model gemma3:4b — update a provider field
/settings — view editable settings
/settings contextTokens 200000 — change a setting at runtime
/model — pick a model (Ollama picker when available)
/model llama3.2 — set model directly

Config file path: ~/.ak-coder/config.json

Environment variables

VariableEffect
OPEN_ROUTER_KEY / OPENROUTER_API_KEYOpenRouter API key (default provider preset)
GEMINI_API_KEYGemini API key
GROQ_KEY / GROQ_API_KEYGroq API key
DEEPSEEK_API_KEYDeepSeek API key
OPENAI_API_KEYOpenAI API key (legacy root config)
OPENAI_API_BASEOpenAI-compatible base URL override
AK_CODER_DEBUGEnable debug trace logging (1 or true)

CLI flags

FlagEffect
--planStart in plan mode (no writes or commands)
--sandboxRun bash inside Docker
--sandbox-image <image>Docker image (default: node:20-alpine)
--sandbox-readonlyMount workspace read-only in sandbox
--stdioJSON-RPC mode on stdin/stdout (no REPL)
--debugTrace UI and agent activity to ~/.ak-coder/logs/
initCreate AGENTS.md and .akcoderignore in cwd

Debug logging

ak-coder --debug
# or
AK_CODER_DEBUG=1 ak-coder
FileContents
~/.ak-coder/logs/ui.trace.logInk UI events (activity labels, sub-agents, stream phases)
~/.ak-coder/logs/agent.logCore agent log (includes tool start/finish at debug level)

Useful when diagnosing stuck prompts, missing tool activity, or sub-agent rendering.

See Architecture: Streaming & Debug.

See Providers for per-provider setup guides.