Usage
Basic usage
# Launch with default profile
ccode
# Launch with a specific profile
ccode --bedrock
ccode --deepseek
ccode --openrouter
ccode --openrouter-preset
ccode --zai
ccode --kimi
ccode --qwen
ccode --minimax
ccode --some-other-custom-profile
# There's also a longer form for profiles
# (in case they'd add a --bedrock flag and you couldn't use such a shorthand)
ccode --profile bedrock
# Pass arguments through to Claude Code
ccode --deepseek --ide
ccode --deepseek -p "Fix the bug in auth.py"
Profile selection
Profiles are selected in this priority order:
--profile <name>flag (explicit, always works)--<name>shortcut (auto-generated from profile names)default_profilefrom config
Profile shortcuts
Every profile name automatically becomes a --<name> shortcut. If you have a profile called deepseek, then --deepseek works.
If a profile name collides with a Claude Code flag (e.g. you named a profile model), the shortcut is disabled and ccode will warn you. Use --profile model instead.
Commands
ccode install
Installs the ccode binary to your PATH. See the Installation page for full details.
ccode install # User-level install (no admin/sudo required)
ccode install --system # System-wide install (requires admin/sudo)
ccode init-config
Creates the default user configuration file and prints its path.
ccode init-config # Create config (fails if exists)
ccode init-config --minimal # Create minimal config (Anthropic only)
ccode init-config --reset # Overwrite existing config with defaults
ccode init-config --minimal --reset # Reset with minimal config
ccode init-config ccode.yaml # Create config at a custom path
ccode init-config --minimal ccode.yaml # Create minimal config at custom path
The --minimal flag creates a smaller configuration with only the top-level settings and Anthropic direct profiles (no cloud providers, third-party providers, or local model examples). Useful for quick setup or project-level configs.
ccode edit-config
Opens the user config file in a text editor. If no config exists, it creates one first.
ccode edit-config # Open in default editor
ccode edit-config vim # Open in a specific editor
The editor is resolved in this order: command argument > $EDITOR > $VISUAL > platform default (notepad on Windows, nano on Linux/macOS).
ccode profiles
Lists all available profiles from the merged configuration.
$ ccode profiles
User config: C:\Users\you\AppData\Roaming\ccode\config.yaml
Default profile: default
Always control: false (shortcuts: --control or --no-control)
Always auto: false (shortcuts: --auto or --no-auto)
Always yolo: false (shortcuts: --yolo or --no-yolo)
Available profiles:
> default
type: subscription passthrough
shortcut: --default
deepseek
type: https://api.deepseek.com/anthropic (deepseek-v4-pro[1m])
shortcut: --deepseek
openrouter
type: https://openrouter.ai/api (anthropic/claude-sonnet-4.6) [no auth]
shortcut: --openrouter
ccode --help
Shows ccode’s own help, including the current config paths, available profiles, and ccode-specific commands and flags.
ccode --help
Since ccode wraps Claude Code, it overrides the default claude --help. The original Claude Code help is always available directly:
claude --help
ccode uninstall
Removes ccode binaries, PATH entries, and optionally the configuration directory. You are prompted before each deletion - nothing is removed without your confirmation. See the Installation page for full details.
ccode uninstall
Launch modes
ccode can automatically enable Claude Code’s launch modes. Set always_control, always_auto, or always_yolo in your config, or use CLI flags to override per-launch:
# Remote control - sessions show up at claude.ai/code
ccode --control # Enable for this session
ccode --no-control # Disable for this session
# Auto permissions - Claude handles permission prompts automatically
ccode --auto # Enable for this session
ccode --no-auto # Disable for this session
# Skip permissions - bypass all permission prompts (be careful!)
ccode --yolo # Enable for this session
ccode --no-yolo # Disable for this session
# Combine modes
ccode --control --yolo # Remote control + skip permissions
# Combine with profiles
ccode --deepseek --auto
ccode --deepseek --yolo
ccode --deepseek --control
--yolo takes priority over --auto (they’re mutually exclusive permission modes). --control can be combined with either.
Note: At the time of writing, claude remote-control does not accept custom permission flags (--dangerously-skip-permissions or --permission-mode auto). Combining --control with --auto or --yolo will print a warning but still attempt to pass the flags, in case a future Claude Code update enables it. Auto permissions can be set in the Claude app/web UI instead.
Passthrough
We have a few commands/flags of our own, but all other flags are passed through to Claude Code. We try not to have naming conflicts.
All Claude Code flags and arguments work as expected:
ccode --deepseek --continue # Resume last conversation
ccode --deepseek -r # Interactive session picker
ccode --deepseek --worktree # New git worktree
ccode --deepseek --debug # Debug mode
Use -- to force everything after it to be passed through:
ccode --deepseek -- --some-future-flag