Environment Variables
Council respects several environment variables for configuration, testing, and accessibility.
Configuration
Section titled “Configuration”COUNCIL_HOME
Section titled “COUNCIL_HOME”Override the default runtime directory (~/.council/). Used by --ephemeral mode and tests to isolate state.
Default: ~/.council/
Example:
export COUNCIL_HOME=/tmp/council-testcouncil convene "Review request" --panel tech-reviewCOUNCIL_DATA_HOME
Section titled “COUNCIL_DATA_HOME”Override the default data directory (~/Council/) for expert and panel YAML files.
Default: ~/Council/ (or config.paths.dataHome if set in config.yaml)
Example:
export COUNCIL_DATA_HOME=~/my-councilscouncil expert listPrecedence:
COUNCIL_DATA_HOMEenvironment variableconfig.paths.dataHomein~/.council/config.yaml- Default:
~/Council/
Terminal UI
Section titled “Terminal UI”On an interactive terminal, a bare council (no subcommand) launches
Council Console, the full-screen TUI, by
default. These variables control that behavior.
COUNCIL_NO_TUI
Section titled “COUNCIL_NO_TUI”When set (any non-empty value), a bare council skips the TUI and uses the
classic CLI. Equivalent to passing --no-tui. Subcommands (council convene …)
are unaffected — they never launch the TUI.
Default: (unset) — bare council launches the TUI on an interactive TTY
Example:
export COUNCIL_NO_TUI=1council # classic CLI banner + help, no TUICOUNCIL_TUI
Section titled “COUNCIL_TUI”Legacy opt-in that forces the TUI for a bare council when set to 1. Now that
the TUI is the default, this is redundant but still honored so older setups keep
working. COUNCIL_NO_TUI and --no-tui take precedence.
Default: (unset)
Example:
COUNCIL_TUI=1 council # force the TUI (redundant with the default)Rendering & Accessibility
Section titled “Rendering & Accessibility”NO_COLOR
Section titled “NO_COLOR”When set (any non-empty value), disables ANSI color codes in output. Follows the NO_COLOR standard.
Example:
export NO_COLOR=1council convene "Review this API design" --panel tech-review --format plainEffect:
- Color output disabled
- ASCII charset used (block art retained for banners)
- Spinner/progress indicators simplified
COUNCIL_ASCII
Section titled “COUNCIL_ASCII”Force ASCII-only charset. Disables Unicode box-drawing characters and emoji.
Example:
export COUNCIL_ASCII=1council convene "Review request" --panel tech-reviewUse Cases:
- Legacy terminals without Unicode support
- Screen readers and accessibility tools
- Log files and CI environments
TERM=dumbis automatically detected
GitHub Copilot Integration
Section titled “GitHub Copilot Integration”COPILOT_CLI_PATH
Section titled “COPILOT_CLI_PATH”Override the auto-detected path to @github/copilot/npm-loader.js. Council auto-detects the bundled loader; use this only when troubleshooting authentication or installation issues.
Default: Auto-detected from @github/copilot package
Example:
export COPILOT_CLI_PATH=/custom/path/to/npm-loader.jscouncil doctorWhen to Use:
- Custom Copilot CLI installations
- Debugging authentication failures
- Non-standard Node.js module resolution
Internal / Testing
Section titled “Internal / Testing”Standard terminal type variable. Council detects TERM=dumb and automatically switches to ASCII-only charset.
Example:
TERM=dumb council convene "Review request" --panel tech-reviewAuto-Detection:
TERM=dumb→ ASCII charset, no color- Modern terminals → Unicode + color
Full reference
Section titled “Full reference”Related
Section titled “Related”- Config & Environment Reference — Auto-generated config + env table
- Use the terminal UI —
COUNCIL_NO_TUI/COUNCIL_TUIin context - Configuration —
config.yamlsettings - Data Locations — Directory structure
- Troubleshooting — Common issues