Skip to content

Config & Environment Reference

DO NOT EDIT — this file is auto-generated from the Council CLI’s Zod config schema by pnpm --filter @council-ai/site docs:generate:config. Run that command to regenerate it, and pnpm --filter @council-ai/site docs:check:config to verify it is in sync.

Every Council configuration key and environment variable, generated from the CLI’s own Zod config schema so this reference can never drift from the code.

Settings live in ~/.council/config.yaml. All keys are optional and fall back to the defaults below. Use the dot-path with council config set <key> <value>.

Global defaults applied to every panel unless overridden per-panel or per-command.

KeyTypeDefaultDescription
defaults.modelstringclaude-sonnet-4.5Provider-agnostic model identifier used when a panel does not specify one.
defaults.enginecopilot | mock | openai | anthropiccopilotEngine used when the —engine flag is not passed on the command line.
defaults.maxRoundsinteger (1–20)4Maximum number of debate rounds per panel.
defaults.maxExpertsinteger (2–8)3Maximum number of experts per panel.
defaults.maxWordsPerResponseinteger (50–2000)250Soft per-expert response cap, measured in words.

Opt-in, anonymous usage telemetry.

KeyTypeDefaultDescription
telemetry.enabledbooleanfalseEnable anonymous usage telemetry (command names only, never panel content).

Per-provider settings for engines that authenticate with a standalone API key. Only the NAME of the environment variable holding the key is stored here, never the key value itself.

KeyTypeDefaultDescription
providers.openai.apiKeyEnvVarstringName of the environment variable holding the OpenAI API key, never the key value itself.
providers.anthropic.apiKeyEnvVarstringName of the environment variable holding the Anthropic API key, never the key value itself.

Expert-library settings governing document ingestion and memory decay.

KeyTypeDefaultDescription
expert.recencyHalfLifeDaysinteger (1–365)90Number of days until an expert’s memory weights decay by half.
expert.supportedFormatsstring[][".md",".txt",".html",".pdf",".csv",".tsv",".rtf",".docx",".pptx",".xlsx",".xls",".odt",".ods",".odp"]File extensions eligible for expert document ingestion.

Document-extraction settings, including the optional AI-extraction fallback and the file-size ceiling.

KeyTypeDefaultDescription
documents.aiExtractionoff | ask | autooffAI-based text-extraction fallback for unknown or unsupported file formats.
documents.aiExtractionAllowedExtensionsstring[][]Whitelist of extensions eligible for AI extraction; an empty list means every extension is eligible.
documents.maxFileSizeMBnumber (1–500)50Maximum file size accepted by the document extractor, measured in megabytes.

Chat-mode context management and summarization.

KeyTypeDefaultDescription
chat.recentTurnCountinteger (5–50)10Number of recent chat turns kept verbatim before summarization.
chat.summaryMaxWordsinteger (100–2000)500Maximum length, in words, of the rolling chat-history summary.
chat.longConversationWarninginteger (50–10000)500Warn the user once a chat exceeds this many turns.

Synthesis settings for the council conclude command.

KeyTypeDefaultDescription
conclude.maxTranscriptCharsinteger (1000–1000000)50000Character budget for transcript content in the synthesis prompt; older turns are dropped beyond it.

Anti-sycophancy quality gate governing whether expert responses that fail the heuristic quality check are flagged or regenerated before they enter the transcript.

KeyTypeDefaultDescription
qualityGate.modeoff | warn | regeneratewarnQuality-gate behavior: off disables it, warn flags failing responses without regenerating, regenerate re-prompts them up to maxRegenerations (each re-prompt incurs an extra premium request).
qualityGate.maxRegenerationsinteger (0–3)1Maximum regeneration attempts per response when mode is regenerate.

User-facing data directory locations.

KeyTypeDefaultDescription
paths.dataHomestring~/CouncilDirectory holding user-facing expert and panel YAML files.

Environment variables override configuration at runtime and tune rendering and integration behavior.

VariablePurposeDefault
COUNCIL_HOMEOverride the runtime directory that stores Council’s database, logs, and config.yaml. Used by —ephemeral mode and tests to isolate state.~/.council/
COUNCIL_DATA_HOMEOverride the data directory for expert and panel YAML files. Takes precedence over paths.dataHome.~/Council/
NO_COLORDisable ANSI color output when set to any non-empty value (follows the NO_COLOR standard).(unset)
COUNCIL_ASCIIForce an ASCII-only charset (set to 1), disabling Unicode box-drawing characters and emoji.(unset)
COPILOT_CLI_PATHOverride the auto-detected path to the GitHub Copilot CLI loader.auto-detected
TERMStandard terminal type; the value dumb switches Council to ASCII-only, no-color output.auto-detected
CIWhen set to true or 1, forces non-interactive rendering with no prompts or spinners.(unset)
ACCESSIBILITYWhen set to 1, forces non-interactive, screen-reader-friendly rendering.(unset)
VISUALEditor launched by council config edit and other edit commands; checked before EDITOR.(unset)
EDITORFallback editor launched by edit commands when VISUAL is unset.(unset)