Skip to content

Configuration Reference

Complete schema reference for all PanCode configuration fields, settings files, presets, and agent specs.

The main runtime configuration object.

FieldTypeDefaultDescription
packageRootstring(auto)Absolute path to PanCode installation
cwdstring(auto)Working directory for the session
profilestring"standard"Config profile name
domainsstring[](see below)Enabled PanCode domains
extensionsstring[](same as domains)Backward-compatible alias
safetySafetyLevel"auto-edit"Safety enforcement level
reasoningPreferencestring"medium"Reasoning/thinking level
themestring"dark"TUI theme name
promptstring"list files in the current directory"Default prompt
providerstring or nullnullProvider override
modelstring or nullnullModel override (provider/model-id)
preferredProviderstring or nullnullPreferred provider for resolution
preferredModelstring or nullnullPreferred model for resolution
toolsstring"read,bash,grep,find,ls"Default tool set
timeoutMsnumber120000Default timeout in milliseconds
runtimeRootstring(auto)Path to .pancode/runtime/
resultsDirstring(auto)Path to .pancode/runtime/results/
ValueDescription
"suggest"Read-only tools only. Model suggests changes.
"auto-edit"File reads and edits allowed. Destructive actions gated.
"full-auto"All operations allowed without confirmation.
ValueDescription
"off"No reasoning/thinking
"minimal"Minimal internal reasoning
"low"Light reasoning
"medium"Balanced reasoning (default)
"high"Extended reasoning
"xhigh"Maximum reasoning depth
safety, session, agents, prompts, dispatch,
observability, scheduling, panconfigure, ui

The intelligence domain is opt-in via PANCODE_INTELLIGENCE=enabled.

Both ~/.pancode/settings.json (global) and .pancode/settings.json (project) share the same schema.

{
"theme": "dark",
"safetyMode": "auto-edit",
"reasoningPreference": "medium",
"preferredProvider": "localhost-ollama",
"preferredModel": "localhost-ollama/llama3.2"
}
FieldTypeDescription
themestringTUI theme name
safetyModeSafetyLevelSafety enforcement level
reasoningPreferencestringReasoning level
preferredProviderstringDefault provider for model resolution
preferredModelstringDefault model reference

Presets are defined in ~/.pancode/panpresets.yaml.

local:
description: "Local inference via homelab engines"
model: localhost-ollama/llama3.2
workerModel: dynamo-ollama/codellama
scoutModel: localhost-ollama/llama3.2
reasoning: medium
safety: auto-edit
FieldTypeRequiredDescription
descriptionstringNoHuman-readable description
modelstringYesOrchestrator model (provider/model-id)
workerModelstring or nullNoWorker model override
scoutModelstring or nullNoScout model override
reasoningstringNoReasoning level (default: medium)
safetySafetyLevelNoSafety level (default: auto-edit)

Agent specifications in ~/.pancode/panagents.yaml.

agents:
agent-name:
description: "Agent purpose"
model: ${PANCODE_WORKER_MODEL}
tools: [read, write, edit, bash, grep, find, ls]
sampling: coding
readonly: false
runtime: pi
tier: mid
prompt: default
speed: balanced
token_budget: 8000
autonomy: supervised
isolation: none
max_turns: 20
retry_on_failure: true
tags: [coding, mutable]
system_prompt: "Instructions for the agent"
FieldTypeDefaultDescription
descriptionstringrequiredHuman-readable purpose
modelstringnoneModel reference. Supports ${ENV_VAR} expansion.
toolsstring[]variesTool allowlist
samplingstring"general"Sampling preset
readonlybooleanfalseIf true, no file mutations
system_promptstringrequiredSystem prompt text
runtimestring"pi"Runtime backend
runtime_argsstring[][]Extra runtime CLI arguments
tierstring"any"Model tier: frontier, mid, any
promptstring"default"Prompt source (default for PanPrompt)
speedstring"balanced"fast, balanced, thorough
token_budgetnumber4000Max output tokens
autonomystring"supervised"autonomous, supervised, confirmatory
isolationstring"none"none, worktree, container
max_turnsnumber10Max conversation turns
retry_on_failurebooleanfalseAuto-retry on failure
tagsstring[][]Routing and filtering tags

Fixed operational envelopes for each agent class.

ProfileContext WindowTemperatureTop-PTop-KReasoningMax Tool Calls
Orchestrator262,1440.60.9520YesUnlimited
Worker200,0000.30.940NoUnlimited
Scout100,0000.10.940No15
ModeDispatchShadowMutationsReasoningDescription
AdminYesYesNoxhighFull system management
PlanNoYesNohighAnalysis and planning
BuildYesYesYesmediumImplementation
ReviewYesYesNoxhighQuality checks

PanCode validates configuration at load time:

  • profile, theme, prompt: must be strings
  • provider, model, preferredProvider, preferredModel: must be strings or null
  • safety: must be suggest, auto-edit, or full-auto
  • reasoningPreference: must be off, on, minimal, low, medium, high, or xhigh
  • domains, extensions: must be arrays of strings
  • timeoutMs: must be a positive finite number

Invalid project settings produce a warning on stderr and are skipped.