Configuration Reference

September 8, 2026 · View on GitHub

Generated from packages/harness/src/config/domain.ts and the domain-owned configuration schemas composed by packages/product-runtime/src/configuration.ts. Concept and layout guidance lives in Configuration layout.

Domains

DomainFileMerge policy
general00-general.jsoncmerge
models10-models.jsoncmerge
providers20-providers.jsoncmerge
library30-library.jsoncmerge
mcp40-mcp.jsoncmerge
plugins50-plugins.jsoncmerge
skills55-skills.jsoncmerge
agents60-agents.jsoncmerge
commands70-commands.jsoncmerge
permissions80-permissions.jsoncmerge
channels90-channels.jsoncmerge
holos100-holos.jsoncmerge
email110-email.jsoncmerge
github115-github.jsoncmerge
runtime120-runtime.jsoncmerge
voice125-voice.jsoncmerge

General

File: 00-general.jsonc · Merge: merge

KeyTypeDescription
$schemastring (optional)JSON schema reference for configuration validation
logLevelLog.Level.optional (optional)Log level
snapshotboolean (optional)
usernamestring (optional)Custom username to display in conversations instead of system username
embeddingEmbeddingConfig
rerankRerankConfig
themestring (optional)Theme name to use for the interface
keybindsKeybinds.optional (optional)Custom keybind configurations
toast"info" | "success" | "warning" | "error" (optional)Toast notification preferences
compactReasoningboolean (optional)Show live reasoning in a compact single-line viewport
locale"system" | "en" | "zh-CN" (optional)UI locale (system = follow OS, default: system)
activityDisplay"full" | "balanced" | "minimal" (optional)How much activity detail to show in the interface: full = everything, balanced = semantic activity grouping, minimal = only essential activity (default: balanced)
defaultSessionWorkspace"main" | "worktree" (optional)Default workspace for new sessions started from the Web composer: main = run in the main checkout, worktree = start each new session in an isolated git worktree (default: main). Programmatic session creation (API, channels, Cortex) always uses the main checkout.
layoutLayout.optional (optional)@deprecated Always uses stretch layout.

Models

File: 10-models.jsonc · Merge: merge

KeyTypeDescription
modelstring (optional)Default model in the format of provider/model, eg anthropic/claude-sonnet-4-5
nano_modelstring (optional)Cheapest model for trivial extraction tasks like title generation, in the format of provider/model. Falls back to mini_model → mid_model → model.
mini_modelstring (optional)Lightweight model for simple tasks like intent extraction, in the format of provider/model. Falls back to mid_model → model.
mid_modelstring (optional)Mid-tier model for internal agents that need moderate reasoning (script extraction, reward evaluation, code exploration), in the format of provider/model. Falls back to the default model.
thinking_modelstring (optional)Deep thinking model for complex reasoning and architecture tasks, in the format of provider/model. Falls back to the default model if not set.
long_context_modelstring (optional)Model with extra-large context window for processing very long inputs, in the format of provider/model. Falls back to the default model if not set.
creative_modelstring (optional)Model for creative and visual tasks (UI design, writing, artistry), in the format of provider/model. Falls back to the default model if not set.
vision_modelstring (optional)Model for separate image analysis via the look_at tool, in the format of provider/model. If not set, look_at is disabled. Direct current-model image context uses view_image based on the active model capability.
role_variantstring (optional)Default variant (e.g. low, medium, high, xhigh) applied per model role. Requires the resolved model to support the named variant.
quick_switcherQuickSwitcher.optional (optional)Quick switcher model visibility preferences

Providers

File: 20-providers.jsonc · Merge: merge

KeyTypeDescription
providerstring (optional)Custom provider configurations and model overrides
enabled_providersstring (optional)When non-empty, ONLY these providers will be enabled. Empty arrays are ignored in each config layer, preserving lower-priority filters
disabled_providersstring (optional)Disable providers that are loaded automatically. Empty arrays are ignored in each config layer, preserving lower-priority filters

Library

File: 30-library.jsonc · Merge: merge

KeyTypeDescription
libraryLibraryConfig

MCP

File: 40-mcp.jsonc · Merge: merge

KeyTypeDescription
mcpobject (optional)MCP (Model Context Protocol) server configurations
mcpDefaultsMcpDefaults.optional (optional)Default settings applied to all MCP servers that don't override them

Plugins

File: 50-plugins.jsonc · Merge: merge

KeyTypeDescription
pluginstring (optional)
pluginConfigstring (optional)Per-plugin configuration namespaces. Keys are plugin IDs, values are plugin-specific config.
pluginRuntimePolicyPluginRuntimePolicy.optional (optional)Plugin runtime isolation policy configuration
pluginMarketplacePluginMarketplace.optional (optional)Public plugin marketplace registry configuration

Skills

File: 55-skills.jsonc · Merge: merge

KeyTypeDescription
skillsSkillsConfig

Agents

File: 60-agents.jsonc · Merge: merge

KeyTypeDescription
default_agentstring (optional)Default agent to use when none is specified. Must be a primary agent. Falls back to 'synergy' if not set or if the specified agent is invalid.
agentobject (optional)Agent configuration
instructionsstring (optional)Additional instruction files or patterns to include
project_doc_fallback_filenamesstring (optional)Ordered fallback instruction filenames to try when AGENTS.md is missing in a directory
project_doc_max_bytesnumber (optional)Maximum bytes to include from each automatically discovered instruction file (default: 32768; 0 disables automatic discovery)
categorystring (optional)Custom category configurations for background tasks. Categories define model and prompt presets.
promptobject (optional)Include the git coauthor reminder in agent prompts (default: true)
external_agentstring (optional)External agent configurations (e.g. codex, claude-code)

Commands

File: 70-commands.jsonc · Merge: merge

KeyTypeDescription
commandstring (optional)

Permissions

File: 80-permissions.jsonc · Merge: merge

KeyTypeDescription
permissionPermission.optional (optional)
toolsstring (optional)
controlProfileControlProfileId.optional (optional)Default control profile applied to all agents
sandboxSandboxConfig.optional (optional)Sandbox configuration for workspace boundary enforcement
smartAllowboolean (optional)Use the SmartAllow internal agent to auto-allow high-confidence safe asks in guarded mode and eligible false-positive denies in autonomous mode using metadata or redacted evidence only; full_access does not need SmartAllow

Channels

File: 90-channels.jsonc · Merge: merge

KeyTypeDescription
channelstring (optional)Channel configurations for messaging platform integrations

Holos

File: 100-holos.jsonc · Merge: merge

KeyTypeDescription
holosHolos.optional (optional)Holos platform configuration
enterpriseobject (optional)Enterprise URL

Email

File: 110-email.jsonc · Merge: merge

KeyTypeDescription
emailEmail.optional (optional)Outgoing email configuration

GitHub

File: 115-github.jsonc · Merge: merge

KeyTypeDescription
githubGithub.optional (optional)GitHub integration settings (git identity sync, agenda watch)

Runtime

File: 120-runtime.jsonc · Merge: merge

KeyTypeDescription
serverServer.optional (optional)Server configuration for synergy serve and web commands
timeoutnumber (optional)Seconds before unanswered questions auto-expire (0 = no timeout, default 3600 = 1h)
cortexobject (optional)Cortex task scheduling configuration
executionobject (optional)Time an excess idle Agent worker remains warm before retirement (default: 60000)
watcherobject (optional)
questionobject (optional)Seconds before unanswered questions auto-expire (0 = no timeout, default 3600 = 1h)
compactionobject (optional)Enable Codex Remote Compaction V2 for openai-codex sessions: request an opaque server-side compaction artifact alongside the local text summary and replay it on later same-model turns (default: false).
observabilityObservabilityConfig.optional (optional)Local logs, indexed telemetry, and diagnostics settings
formatterobject (optional)
lspboolean (optional)Expose the LSP tool; permission checks still apply (default: false)
lspWriteDiagnosticsboolean (optional)Include LSP diagnostics after file-writing tools complete (default: true)
lspDiagnostics"error" | "warning" (optional)Severity and scope policy for diagnostics returned after file-writing tools
toolExposureobject (optional)Expose the LSP tool; permission checks still apply (default: false)
bossobject (optional)Re-inject the versioned world-overview briefing every N days (default: disabled)

Voice

File: 125-voice.jsonc · Merge: merge

KeyTypeDescription
voiceVoiceConfig