Where Onyx settings live
Every setting lives under the unified Onyx Codeparent in the Settings Editor's left tree.
Privacy settings
| Key | Default | Notes |
|---|
onyx.privacy.airGapMode | false | Block Onyx Code's own outbound network traffic. Extensions, the terminal and tasks, and stdio MCP servers are not covered. |
onyx.privacy.workspaceAiDisabled | false | Resource-scoped kill switch. |
onyx.privacy.activityLog.enabled | true | Master toggle for the audit log. |
onyx.privacy.activityLog.retentionDays | 365 | 1-3650. |
onyxcode.privacy.promptSanitizer.enabled | true | Pre-send secret scan. |
onyxcode.privacy.promptSanitizer.patterns | {} | Per-id overrides. |
onyxcode.privacy.promptSanitizer.customPatterns | [] | User-defined regex patterns. |
onyxcode.privacy.promptSanitizer.entropyThreshold | 4.5 | Shannon entropy threshold for the high-entropy fallback. |
onyxcode.privacy.promptSanitizer.highEntropyFallback | true | Toggle the entropy fallback. |
The five promptSanitizersettings wait for trust: a folder you haven't trusted can't set them in its own .vscode/settings.json, so a repository you clone can't turn the secret scan down. Your own settings apply until you trust it.
AI settings
| Key | Default | Notes |
|---|
onyxcode.ai.modelsPath | ~/.onyxcode/models/ | Where downloaded GGUF files live. |
onyxcode.ai.port | 12345 | Bundled chat server port. |
onyxcode.ai.embeddingPort | 12346 | Bundled embedding server port. |
onyxcode.ai.embeddingModelPath | (blank) | Advanced override; auto-discover. |
onyxcode.ai.embeddingPoolingMode | per model | mean / cls / last. |
onyxcode.ai.activeBackend | (UI managed) | Do not hand-edit. User settings only. |
onyxcode.ai.externalServer.enabled | false | Use an external server instead of the bundled engine. User settings only: a project's settings can't set it. |
onyxcode.ai.externalServer.url | http://localhost:11434 | The external server's address. User settings only. |
onyxcode.ai.fimTemplate | auto | auto / qwen / deepseek / starcoder / codestral. |
onyxcode.ai.speculativeDecoding.enabled | true | |
onyxcode.ai.draftModelPath | (blank) | Auto-discover when blank. |
onyxcode.ai.draftMax | 8 | 2-16 speculative tokens. |
onyxcode.ai.inferenceBackend | auto | AI processor: auto / gpu / cpu. |
onyxcode.ai.engineUpdates | auto | Engine updates between releases: auto / notify / off. Never runs in Air-Gap Mode. |
onyxcode.ai.gpuLayers | auto | Advanced: number of layers to offload to GPU. |
onyxcode.ai.rag.enabled | true | |
onyxcode.ai.rag.excludePatterns | (see code) | Default excludes node_modules etc. |
Chat settings
| Key | Default | Notes |
|---|
onyxcode.chat.enabled | true | Show the panel. |
onyxcode.chat.maxTokens | 4096 | Max response length. |
onyxcode.chat.temperature | 0.7 | 0-2. |
onyxcode.chat.repeatPenalty | 1.1 | 1.0 disables. |
onyxcode.chat.warnOnLightModel | true | Once-per-session notice. |
onyxcode.chat.applyMode | auto | auto (diff editor) / manual (buttons). |
onyxcode.chat.contextWindow | auto | auto or numeric override. |
onyxcode.chat.gitDiffMode | auto | auto / never. |
onyxcode.chat.gitDiffMaxBytes | 4096 | Cap on the injected git diff. |
onyxcode.chat.autoSummarize | true | Auto-condense old turns at ~70% context. |
onyxcode.chat.instructionsFile | .onyx/instructions.md | Path probed for project instructions. |
onyxcode.chat.instructionsMaxBytes | 4096 | Cap on the injected instructions file, in characters (comments left out). |
Agent settings
| Key | Default | Notes |
|---|
onyxcode.agent.mode | ask | plan / ask / editAuto / auto. |
onyxcode.agent.alwaysAllow.fileRead | true | |
onyxcode.agent.alwaysAllow.fileWrite | false | |
onyxcode.agent.alwaysAllow.shellExec | false | |
onyxcode.agent.alwaysAllow.mcp | [] | Strings of <server>:<tool>. |
All five wait for trust: a folder you haven't trusted can't set them in its own .vscode/settings.json, so a repository you clone can't choose the agent mode or add a tool that runs without asking. Your own settings apply until you trust it.
Autocomplete settings
| Key | Default | Notes |
|---|
onyxcode.autocomplete.enabled | true | |
onyxcode.autocomplete.multiLine | true | |
onyxcode.autocomplete.crossFileContext | true | |
onyxcode.autocomplete.smartTrigger | true | |
onyxcode.autocomplete.predictiveEdits | true | |
onyxcode.autocomplete.debounceMs | 400 | |
onyxcode.autocomplete.maxTokens | 128 | Provider also stops at \n\n. |
onyxcode.autocomplete.temperature | 0.1 | |
onyxcode.autocomplete.nextEditPrediction.enabled | true | Master toggle for Zeta next-edit predictions. |
onyxcode.autocomplete.nextEditPrediction.modelPath | (blank) | Explicit Zeta GGUF path; auto-discover when blank. |
Codebase Index settings
| Key | Default | Notes |
|---|
onyxcode.index.enabled | true | |
onyxcode.index.maxFileSizeKB | 512 | |
onyxcode.index.maxTotalFiles | 5000 | |
onyxcode.index.concurrency | 4 | |
onyxcode.index.persistEnabled | true | |
onyxcode.index.watchEnabled | true | |
onyxcode.index.excludeGlobs | {} | |
Git Helpers settings
| Key | Default | Notes |
|---|
onyxcode.git.commitMessageFormat | conventional | Or freeform. |
onyxcode.git.maxDiffBytes | 32768 | 1 KB - 256 KB. |
onyxcode.git.appendSignature | true | Append "Drafted with Onyx Code". |
Change nothing and it still works
Defaults are chosen so the private option is the one you get without configuring anything.