$ccc-settings — Configuration hub
Placeholders like ~~project tracker refer to connected tools. See CONNECTORS.md.
Configuration hub for CC Commander. Reads from and writes to ~/.claude/commander/config.json. Full menu sourced from references/settings.json.
Quick Mode (default)
Load current config and show top 4 most-changed settings:
cat ~/.claude/commander/config.json 2>/dev/null || echo '{}'
Display current values and offer via AskUserQuestion (max 4 options — "Back to main menu" is a plain-text line below the picker, not a 5th chip):
- "Change my name" (currently: {name})
- "Change theme" (currently: {theme})
- "Set cost ceiling" (currently: ${costCeiling})
- "More settings..."
Below the picker: Or say "back" to return to /ccc.
Power Mode
Full settings menu from references/settings.json. Activate by passing --power or all as argument, or when user selects "More settings...".
Page the 8 settings below into two 4-option AskUserQuestion pickers (max 4 per AUQ) rather than one 8-item list — page 1: name, level, cost ceiling, theme; page 2: animations, Linear setup, launch mode, reset. A "More…" chip on page 1 cascades to page 2, same pattern as $ccc-more.
Available Settings
All options from references/settings.json. Entries marked (CLI-only) configure the ccc terminal binary and have no effect in Claude Code Desktop / Cowork Desktop — surface them anyway (users may run both), but note the scope.
a) Display name — How CC Commander addresses you
- Ask: "What name should I use?" → write to
config.json
b) Experience level — beginner / intermediate / expert
- Affects verbosity, auto-confirm thresholds, and suggested skill complexity
- Ask via AskUserQuestion with 3 options
c) Cost ceiling — Max budget per dispatch (default: $10)
- Ask: "Max budget per session?" → validate is a number → write to
config.json - Note: $10 hard ceiling in night-mode is separate
d) Theme (CLI-only) — Visual theme for ccc CLI
- Options: Claude Anthropic (default) / OLED Black / Matrix / Surprise Me
- Use Bash to apply if
ccc --themeis available; otherwise note takes effect on nextccclaunch
e) Animations (CLI-only) — Toggle terminal animations
- Ask: Enable / Disable
- Sets
CC_NO_ANIMATION=1in shell profile if disabled
l) Linear setup — Choose team + project, check connection
- Check for
LINEAR_CC_CLIENT_IDandLINEAR_CC_CLIENT_SECRETin environment - If not set: show instructions to set the following in your shell config (
.bashrc,.zshrc) or via your preferred secrets manager:export LINEAR_CC_CLIENT_ID=<your_client_id>andexport LINEAR_CC_CLIENT_SECRET=<your_client_secret> - If set: test connection, show linked team and project, offer to change
m) Launch mode (CLI-only) — Simple or Advanced (split tmux)
- Simple: standard single-pane launch
- Advanced: tabbed tmux split mode (
ccc --split)
r) Reset all state — Start fresh (keeps skills, clears sessions/knowledge)
- Confirm: "This will delete all sessions and knowledge base entries. Skills are preserved. Continue?"
- If confirmed:
rm -rf ~/.claude/commander/sessions/ ~/.claude/commander/knowledge/
Config File Format
~/.claude/commander/config.json:
{
"name": "Kevin",
"level": "expert",
"costCeiling": 10,
"theme": "claude-anthropic",
"animations": true,
"launchMode": "simple",
"linear": {
"teamId": "CC",
"projectId": "commander"
}
}
Use Write to persist all changes. Never silently overwrite — show the proposed change and confirm.
If Connectors Available
If ~~project tracker is connected:
- The Linear setup option shows current connection status and allows switching teams/projects
- On successful Linear setup, offer to import open issues immediately
Tips
- Pass a setting name directly as argument (e.g.,
settings theme) to jump to that setting. - The
linearargument runs the Linear setup flow without opening the full settings menu. - Config is never auto-reset — the reset option requires explicit confirmation.
⚙️ Fable contract: plan before build · verifier ≠ worker · prove before alarm · loops need gates · leave durable state —
rules/fable-method.md
(On Codex, present these options as a numbered list and ask the user to reply with a number — AskUserQuestion is Claude-only.)