Skip to content

Settings Reference

Two prefixes: provider settings use short names (anthropic.apiKey), feature settings use codebuddy.*. Open in the editor with Cmd/Ctrl + , → filter by codebuddy or provider name.

Note for maintainers: this page is meant to be regenerated from package.json contributes.configuration on every release. Hand-maintained lists rot — every setting rename or default change requires touching this file. A build-time generator would be rot-proof; tracked as follow-up.


SettingTypeDefaultValues
generativeAi.optionenumnullActive provider — Anthropic, OpenAI, Gemini, Groq, XGrok, Deepseek, Qwen, GLM, Local. null on first install → onboarding wizard fires
SettingTypeDefaultDescription
google.gemini.apiKeysstringGemini API key
google.gemini.modelstring"gemini-2.5-pro"Gemini model name
SettingTypeDefaultDescription
groq.llama3.apiKeystringGroq API key
groq.llama3.modelstring"llama-3.1-70b-versatile"Groq model name
SettingTypeDefaultDescription
anthropic.apiKeystringAnthropic API key
anthropic.modelstring"claude-sonnet-4-5"Anthropic model name
SettingTypeDefaultDescription
openai.apiKeystringOpenAI API key
openai.modelstring"gpt-4o"OpenAI model name
SettingTypeDefaultDescription
deepseek.apiKeystringDeepseek API key
deepseek.modelstring"deepseek-chat"Deepseek model (e.g., deepseek-chat V3, deepseek-reasoner R1)
SettingTypeDefaultDescription
qwen.apiKeystringQwen (DashScope) API key
qwen.modelstring"qwen-max"Qwen model (e.g., qwen-max, qwen-plus, qwen3-coder-plus)
SettingTypeDefaultDescription
glm.apiKeystringGLM (Zhipu AI) API key
glm.modelstring"glm-4"GLM model (e.g., glm-4, glm-4-plus, glm-4v)
SettingTypeDefaultDescription
local.modelstring"qwen2.5-coder"Local model name (e.g., qwen2.5-coder, llama3.2, gemma3)
local.baseUrlstring"http://localhost:11434/v1"Base URL. Ollama: http://localhost:11434/v1, Docker Model Runner: http://localhost:12434/engines/llama.cpp/v1
local.apiKeystring"not-needed"API key for local LLM (if required)

The web_search tool uses whichever key is set (Tavily, Brave, or Firecrawl). Gemini keys also power embeddings.

SettingTypeDefaultDescription
tavily.apiKeystringnullTavily API key for web search
brave.apiKeystringnullBrave Search API key
firecrawl.apiKeystringnullFirecrawl API key

SettingTypeDefaultDescription
codebuddy.codeBuddyModeenum"Agent"Active interaction mode: Agent, Plan, Ask
codebuddy.enableStreamingbooleantrueEnable streaming responses from AI models
codebuddy.autoApprovebooleanfalseAutomatically approve agent actions without confirmation
codebuddy.allowFileEditsbooleantrueAllow the agent to create, modify, and delete files
codebuddy.allowTerminalbooleantrueAllow the agent to execute terminal commands
codebuddy.verboseLoggingbooleanfalseShow detailed agent activity logs for debugging
codebuddy.indexCodebasebooleanfalseEnable vector database indexing for semantic code search
codebuddy.contextWindowenum"16k"Max context window size: 4k, 8k, 16k, 32k, 128k
codebuddy.includeHiddenbooleanfalseInclude hidden files (.-prefixed) in context gathering
codebuddy.maxFileSizestring"1"Max file size in MB for context gathering
codebuddy.requireDiffApprovalbooleanfalseRequire manual approval before file changes are applied
codebuddy.languageenum"en"UI language: en, es, fr, de, zh-cn, ja, yo
codebuddy.browserTypeenum"system"How to open URLs: reader, simple, system
codebuddy.nicknamestring""Your display name in chat conversations
codebuddy.compactModebooleanfalseReduce spacing between messages for a denser view
codebuddy.showTimestampsbooleanfalseShow a timestamp under each chat message
codebuddy.sessionAwareness.enabledbooleantrueTell the agent which files it already read this session so it doesn’t re-read
codebuddy.hooks.enabledbooleantrueRun pre/post tool-execution hooks from .codebuddy/hooks.json
codebuddy.debug.fileLoggingbooleanfalseWrite logs to .codebuddy/logs (auto-on when running from source)
SettingTypeDefaultDescription
font.familyenum"JetBrains Mono"Chat font family: Montserrat, SF Mono, Space Mono, Fira Code, Source Code Pro, JetBrains Mono, Roboto Mono, Ubuntu Mono, IBM Plex Mono, Inconsolata
chatview.themeenum"Atom One Dark"Syntax highlight theme: Atom One Dark, Code Pen, github dark, night owl, tokyo night, and others
chatview.font.sizenumber16Chat font size in pixels
SettingTypeDefaultRangeDescription
codebuddy.agent.maxEventCountnumber15000500–50000Max stream events before the agent pauses
codebuddy.agent.maxToolInvocationsnumber200050–10000Max total tool calls before the agent pauses
codebuddy.agent.maxDurationMinutesnumber601–240Max wall-clock minutes before the agent pauses
codebuddy.agent.recursionLimitnumber60050–2000Max LangGraph recursion depth before force-stop
codebuddy.agent.maxToolCallsPerTypenumber1505–1000Per-tool cap before it’s treated as looping
codebuddy.agent.fileEditLoopThresholdnumber202–100Consecutive same-file edits before it’s treated as looping
codebuddy.agent.maxConcurrentStreamsnumber31–10Max concurrent agent streams; additional requests are queued
codebuddy.agent.contextBudgetWarningbooleantrueWarn the agent when its context window passes ~70% so it summarizes
SettingTypeDefaultRange
codebuddy.agent.limits.editFilenumber751–400
codebuddy.agent.limits.writeFilenumber751–400
codebuddy.agent.limits.deleteFilenumber301–200
codebuddy.agent.limits.runCommandnumber1001–400
codebuddy.agent.limits.runTerminalCommandnumber50010–4000
codebuddy.agent.limits.webSearchnumber601–400

Tool rate limiter (60-second sliding window)

Section titled “Tool rate limiter (60-second sliding window)”
SettingTypeDefaultRangeDescription
codebuddy.agent.rateLimiter.maxTotalPerWindownumber60060–3000Max tool calls across all tools/min
codebuddy.agent.rateLimiter.maxPerToolPerWindownumber20010–1000Max calls for any single tool/min
SettingTypeDefaultDescription
codebuddy.agent.costThresholdnumber1000Max spend (USD) per conversation before prompting to continue
codebuddy.agent.costThresholdWarningPercentnumber80Percent of threshold at which a warning shows (1–99)
codebuddy.agent.dailySpendCapnumber/nullnullMax total daily spend (USD); null disables
SettingTypeDefaultDescription
codebuddy.agent.includeGitContextbooleantrueInject git branch/status/recent diffs into the system prompt at session start
codebuddy.agent.groundingContextbooleanfalseFirst-turn: inject vector-retrieved code so the agent starts grounded. Needs a working embeddings provider; default OFF
codebuddy.agent.changeAwareStartbooleanfalseFirst-turn: inject a compact list of files changed since the last session
codebuddy.agent.anthropic.thinkingBudgetnumber0Anthropic extended-thinking budget in tokens (0 = off; enable ≥1024, rec. 2048–8192)
SettingTypeDefaultDescription
codebuddy.completion.enabledbooleantrueEnable inline code completions (ghost text)
codebuddy.completion.providerenum"Local"Completion provider: Gemini, Groq, Anthropic, Deepseek, OpenAI, Qwen, GLM, Local
codebuddy.completion.modelstring"qwen2.5-coder"Model to use for completions
codebuddy.completion.apiKeystring""API key for completion provider (falls back to main key if empty)
codebuddy.completion.debounceMsnumber300Delay in ms before triggering a completion (min: 50)
codebuddy.completion.maxTokensnumber128Maximum tokens to generate per completion
codebuddy.completion.triggerModeenum"automatic"Trigger mode: automatic, manual
codebuddy.completion.multiLinebooleantrueAllow multi-line completions
SettingTypeDefaultDescription
codebuddy.rules.enabledbooleantrueEnable project rules from .codebuddy/rules.md
codebuddy.rules.maxTokensnumber2000Max tokens for project rules (truncates if exceeded)
codebuddy.rules.showIndicatorbooleantrueShow indicator when project rules are active
rules.customRulesarray[]Custom rules for code generation (objects with id, name, description, content, enabled)
rules.customSystemPromptstring""Additional instructions appended to the base system prompt
rules.subagentsobject{}Per-subagent toggle configuration. Keys: subagent ID, values: { enabled: boolean }
SettingTypeDefaultDescription
codebuddy.review.inlineCommentsbooleantrueShow code review comments inline in workspace files
SettingTypeDefaultDescription
codebuddy.testCommandstring""Custom test command. If empty, auto-detects (Jest, Vitest, Mocha, Pytest, Go, Cargo)
codebuddy.testTimeoutnumber120000Test execution timeout in ms (5000–600000)
SettingTypeDefaultDescription
codebuddy.vectorDb.enabledbooleantrueEnable vector database for semantic code search
codebuddy.vectorDb.embeddingModelenum"gemini"Embedding provider: gemini, openai, local
codebuddy.vectorDb.maxTokensnumber6000Max tokens per chunk
codebuddy.vectorDb.batchSizenumber10Files per embedding batch (1–50)
codebuddy.vectorDb.searchResultLimitnumber8Max search results (1–20)
codebuddy.vectorDb.enableBackgroundProcessingbooleantrueIndex changes in the background
codebuddy.vectorDb.enableProgressNotificationsbooleantrueShow indexing progress
codebuddy.vectorDb.progressLocationenum"notification"Progress location: notification, statusBar
codebuddy.vectorDb.debounceDelaynumber1000Re-index debounce delay in ms
codebuddy.vectorDb.performanceModeenum"balanced"Performance mode: balanced, performance, memory
codebuddy.vectorDb.fallbackToKeywordSearchbooleantrueFall back to keyword search when vectors fail
codebuddy.vectorDb.cacheEnabledbooleantrueCache search results
codebuddy.vectorDb.logLevelenum"info"Log level: debug, info, warn, error
SettingTypeDefaultRangeDescription
codebuddy.hybridSearch.vectorWeightnumber0.70–1Weight for semantic similarity scores
codebuddy.hybridSearch.textWeightnumber0.30–1Weight for BM25 keyword scores
codebuddy.hybridSearch.topKinteger101–50Max results returned
codebuddy.hybridSearch.mmr.enabledbooleanfalseEnable MMR diversity re-ranking
codebuddy.hybridSearch.mmr.lambdanumber0.70–1MMR trade-off: 0 = max diversity, 1 = max relevance
codebuddy.hybridSearch.temporalDecay.enabledbooleanfalseBoost recently indexed content
codebuddy.hybridSearch.temporalDecay.halfLifeDaysinteger301–365Days until a result’s score is halved
SettingTypeDefaultDescription
codebuddy.permissionScope.defaultProfileenum"standard"Default permission profile: restricted (read-only, no terminal), standard (read/write, safe terminal), trusted (full access, auto-approve)
codebuddy.accessControl.defaultModeenum"open"Access control mode: open (no restrictions), allow (only listed users), deny (block listed users)
codebuddy.credentialProxy.enabledbooleanfalseRoute API calls through a local proxy that injects credentials from OS keychain
codebuddy.credentialProxy.rateLimitsobject{"anthropic":60,...}Per-provider rate limits (requests/min). Keys: provider names, values: 1–3600
SettingTypeDefaultDescription
codebuddy.connectors.statesobject{}Connection status of external connectors
codebuddy.mcp.serversobject{}MCP server configurations
codebuddy.mcp.disabledToolsobject{}Per-server lists of disabled MCP tool names
SettingTypeDefaultDescription
codebuddy.automations.dailyStandup.enabledbooleantrueDaily Standup automation (8:00 AM)
codebuddy.automations.codeHealth.enabledbooleantrueDaily Code Health Check (9:00 AM)
codebuddy.automations.codeHealth.hotspotMinChangesnumber3Min changes in 30 days to flag a file as a hotspot
codebuddy.automations.codeHealth.largeFileThresholdnumber300Min lines for “large file” warning (min: 50)
codebuddy.automations.codeHealth.maxTodoItemsnumber50Max TODO/FIXME/HACK items to report (min: 10)
codebuddy.automations.dependencyCheck.enabledbooleantrueDaily Dependency Check (11:00 AM)
codebuddy.automations.gitWatchdog.enabledbooleantrueGit Watchdog (every 2 hours)
codebuddy.automations.gitWatchdog.protectedBranchesstring[]["main","master","develop",...]Branches to protect from stale cleanup. Exact names or prefix/* patterns
codebuddy.automations.endOfDaySummary.enabledbooleantrueEnd-of-Day Summary (5:00 PM)
SettingTypeDefaultDescription
codebuddy.failover.enabledbooleantrueAuto-switch to fallback LLM on failure (rate limit, timeout, auth error)
codebuddy.failover.providersstring[][]Ordered fallback providers: Anthropic, OpenAI, Gemini, Groq, Deepseek, Qwen, GLM, Local. Empty = auto-detect
SettingTypeDefaultDescription
codebuddy.telemetry.persistTracesbooleantruePersist agent telemetry traces to disk
codebuddy.telemetry.retentionDaysnumber7Days to retain traces before pruning (1–90)
codebuddy.telemetry.otlpEndpointstring""Generic OTLP HTTP endpoint for trace export (LangSmith, Jaeger, …). Empty = disabled
codebuddy.telemetry.langfuse.enabledbooleanfalseEnable Langfuse LLM observability. Needs publicKey + secret key (set via command palette)
codebuddy.telemetry.langfuse.baseUrlstring"https://cloud.langfuse.com"Langfuse host URL (cloud or self-hosted)
codebuddy.telemetry.langfuse.publicKeystring""Langfuse public key (pk-lf-…)
codebuddy.telemetry.langfuse.allowInsecurebooleanfalseAllow non-HTTPS Langfuse endpoints (self-hosted only)
codebuddy.telemetry.anonymousUserIdbooleanfalseEmit an anonymous per-install id with traces (opt-in; sha256 of a local nonce)
SettingTypeDefaultDescription
codebuddy.multiModel.enabledbooleanfalseRoute subagent tasks to the best available model per task category
codebuddy.multiModel.routingobject{}Per-category model overrides
SettingTypeDefaultDescription
codebuddy.quickjs.enabledbooleanfalseEnable the QuickJS runtime for user-authored skill scripts / tool-output transforms (string-io only). See Sandbox
codebuddy.experimental.codeInterpreterbooleanfalseExperimental: the LLM-callable QuickJS interpreter for recursive/dynamic-subagent workflows
codebuddy.experimental.codeInterpreterTimeoutSecondsnumber300Max seconds a single eval() may run (clamped 30–600)
SettingTypeDefaultDescription
codebuddy.standup.myNamestring""Your name in standup/meeting notes (filters your action items). Falls back to git config user.name
codebuddy.standup.previewBeforeSavebooleantruePreview the generated standup before it’s saved