Troubleshooting
Solutions for common issues when installing, configuring, or using Council.
Installation & Setup
Section titled “Installation & Setup”Command Not Found: council
Section titled “Command Not Found: council”Symptom: Shell reports command not found: council after installation.
Cause: pnpm global bin directory is not in your PATH.
Solution:
- Find your pnpm global bin path:
pnpm bin -g- Add it to your
PATH(in~/.zshrc,~/.bashrc, or equivalent):
export PATH="$(pnpm bin -g):$PATH"- Reload your shell:
source ~/.zshrc # or ~/.bashrcGitHub Copilot Authentication Fails
Section titled “GitHub Copilot Authentication Fails”Symptom: council convene exits with code 2 and error NOT_AUTHENTICATED.
Cause: GitHub Copilot is not authenticated or the session expired.
Solution:
- Verify Copilot subscription:
gh copilot status- Re-authenticate:
gh auth login- Verify Council detects Copilot:
council doctorLook for:
✓ GitHub Copilot: connectedStill failing? Check COPILOT_CLI_PATH override:
unset COPILOT_CLI_PATHcouncil doctorConfiguration
Section titled “Configuration”Config Changes Not Taking Effect
Section titled “Config Changes Not Taking Effect”Symptom: Changes to ~/.council/config.yaml are ignored.
Cause:
- Syntax error in YAML (invalid indentation, missing colons)
- Config cached by a long-running process
- CLI flags override config file
Solution:
- Validate YAML syntax:
cat ~/.council/config.yaml | yq eval# (install yq: brew install yq)- Check active config:
council config get- Override with CLI flags for testing:
council convene "Test topic" --panel tech-review --max-rounds 5Invalid Config Key Error
Section titled “Invalid Config Key Error”Symptom: council config set <key> <value> fails with “Invalid key.”
Cause: Typo in key name or unsupported nesting.
Solution: Use dot notation for nested keys:
# ✅ Correctcouncil config set defaults.maxRounds 5council config set documents.aiExtraction ask
# ❌ Incorrectcouncil config set maxRounds 5 # Missing 'defaults.' prefixPanels & Experts
Section titled “Panels & Experts”Panel Not Found
Section titled “Panel Not Found”Symptom: council convene my-panel fails with “Panel template ‘my-panel’ not found.”
Cause:
- Panel file doesn’t exist
- Typo in panel name
- Panel file has syntax error
Solution:
- List available panels:
council panel list- Check user panels:
ls ~/Council/panels/- Validate panel YAML syntax:
cat ~/Council/panels/my-panel.yaml | yq evalTip: Panel names are case-sensitive and must match the file name (without .yaml extension).
Expert Slug Not Found in Panel
Section titled “Expert Slug Not Found in Panel”Symptom: Error: “Expert ‘security’ is not in this panel.”
Cause: Panel YAML references an expert slug that doesn’t exist in ~/Council/experts/.
Solution:
- List available experts:
council expert list- Create the missing expert:
# Copy a template or define manuallycp examples/security-expert.yaml ~/Council/experts/security.yaml- Check panel YAML references:
cat ~/Council/panels/tech-review.yaml# Ensure `experts:` list matches available expert slugsDuplicate Expert Slug Error
Section titled “Duplicate Expert Slug Error”Symptom: “duplicate expert slug ‘cto’ — slugs must be unique within a panel”
Cause: Panel YAML lists the same expert slug twice (or two experts with the same slug).
Solution: Edit panel YAML and remove duplicates:
experts: - cto - cto # ❌ DuplicateFix:
experts: - cto - cfo # ✅ Unique slugsDocuments
Section titled “Documents”Unsupported File Format
Section titled “Unsupported File Format”Symptom: council docs review <panel> lists files as “unsupported format.”
Cause: File extension is not in config.expert.supportedFormats or no native extractor exists.
Solutions:
- Check supported formats:
council docs formats- Add extension to supported list:
council config set expert.supportedFormats '[".md",".txt",".pdf",".custom"]'- Enable AI extraction (experimental):
council config set documents.aiExtraction askcouncil docs extract <panel>See: Document Formats
File Size Exceeded
Section titled “File Size Exceeded”Symptom: Error: “File exceeds maximum size (50 MB): oversize-file”
Cause: Document exceeds config.documents.maxFileSizeMB limit.
Solution: Increase the limit:
council config set documents.maxFileSizeMB 100Range: 1–500 MB
Alternative: Split the document or summarize it into a smaller file.
AI Extraction Stuck on “Ask” Mode
Section titled “AI Extraction Stuck on “Ask” Mode”Symptom: council docs extract prompts for every file, slowing down corpus building.
Cause: documents.aiExtraction is set to ask.
Solution: Switch to auto for batch processing:
council config set documents.aiExtraction autocouncil docs extract <panel>Revert to ask or off after processing if desired.
Performance & Networking
Section titled “Performance & Networking”Slow Response Times
Section titled “Slow Response Times”Symptom: Debates take minutes per response.
Possible Causes:
- Large document corpus (persona expert indexes huge files)
- High
maxWordsPerResponse(forces longer responses) - Network latency to GitHub Copilot API
- Rate limiting
Solutions:
- Reduce response length:
council config set defaults.maxWordsPerResponse 150- Prune document corpus:
# Check corpus sizecouncil docs doctor <panel>
# Remove or archive old documents- Check network:
council doctor# Look for "Network: reachable" status- Check rate limits:
gh copilot status# Look for usage/quota infoNetwork Error (Exit Code 3)
Section titled “Network Error (Exit Code 3)”Symptom: council convene exits with code 3 and NETWORK or RATE_LIMITED error.
Cause:
- No internet connection
- GitHub API unreachable
- Rate limit exceeded
Solutions:
- Check connectivity:
ping github.com- Retry after rate limit resets:
# Wait a few minutes, then retrycouncil convene "Review request" --panel tech-review- Use
--max-roundsto reduce API calls:
council convene "Quick review" --panel tech-review --max-rounds 2See: Exit Codes
Output & Rendering
Section titled “Output & Rendering”Garbled Output / No Color
Section titled “Garbled Output / No Color”Symptom: Terminal shows ANSI escape codes as literal text, or no color.
Cause:
- Terminal doesn’t support ANSI codes (
TERM=dumb) - Output piped to file or
less NO_COLORenvironment variable set
Solutions:
- Force plain output:
council convene "Review request" --panel tech-review --format plain- Disable color:
export NO_COLOR=1council convene "Review request" --panel tech-review- Use ASCII-only charset:
export COUNCIL_ASCII=1council convene "Review request" --panel tech-reviewUnicode Symbols Not Rendering
Section titled “Unicode Symbols Not Rendering”Symptom: Boxes, checkmarks, or progress indicators show as ? or broken glyphs.
Cause: Terminal font doesn’t support Unicode.
Solution:
- Force ASCII charset:
export COUNCIL_ASCII=1council convene "Review request" --panel tech-review- Use a modern terminal font (e.g., JetBrains Mono, Fira Code, Cascadia Code).
Debugging
Section titled “Debugging”Enable Verbose Logging
Section titled “Enable Verbose Logging”Council logs detailed errors to ~/.council/logs/. Check there first when troubleshooting.
View recent errors:
tail -f ~/.council/logs/error.logRun Health Check
Section titled “Run Health Check”council doctorOutput includes:
- GitHub Copilot connection status
- Config file validity
- Database health
- Network reachability
- Installed version
Reset to Defaults
Section titled “Reset to Defaults”Nuclear option: Delete runtime directory and start fresh.
# Backup first!cp -r ~/.council ~/.council.backup
# Resetrm -rf ~/.councilcouncil config get # Regenerates defaultsGetting Help
Section titled “Getting Help”Report a Bug
Section titled “Report a Bug”- Check logs:
cat ~/.council/logs/error.log- Run diagnostics:
council doctor > diagnostics.txt- Open an issue: Include diagnostics, error logs, and reproduction steps.