Comprehensive Claude Code CLI reference covering interactive mode, CLI flags, commands, environment variables, hooks, channels, checkpointing, plugins, and tools. Use when asked about Claude Code features, configuration, workflows, keyboard shortcuts, session management, permission modes, environment setup, or best practices for using Claude Code effectively.
Use this skill when the user asks about Claude Code CLI features, configuration, workflows, or best practices.
| Feature | What It Does | Reference |
|---|---|---|
| CLI flags | Launch-time options for sessions, models, permissions, prompts | ./references/cli-reference.md |
| Commands | In-session / commands for model switching, permissions, context, workflows | ./references/commands.md |
| Interactive mode | Keyboard shortcuts, Vim mode, multiline input, voice, task list | ./references/interactive-mode.md |
| Hooks | Shell commands, HTTP endpoints, or LLM prompts at lifecycle events | ./references/hooks.md |
| Plugins | Extend Claude Code with skills, agents, hooks, MCP/LSP servers | ./references/plugins.md |
| Channels | MCP servers that push external events into a session |
./references/channels.md |
| Checkpointing | Automatic file edit tracking with rewind and summarize | ./references/checkpointing.md |
| Tools | Built-in tools: Bash, Edit, Read, Write, Agent, WebFetch, etc. | ./references/tools.md |
| Environment variables | Control behavior via env vars or settings.json | ./references/env-vars.md |
| Flag | Purpose | Example |
|---|---|---|
--model | Set model (alias or full name) | claude --model opus |
--continue, -c | Resume most recent conversation | claude -c |
--resume, -r | Resume by session ID or name | claude -r "auth-refactor" |
--print, -p | Non-interactive print mode (SDK) | claude -p "query" |
--permission-mode | Start in a specific permission mode | claude --permission-mode plan |
--worktree, -w | Isolated git worktree session | claude -w feature-auth |
--bare | Minimal mode, skip auto-discovery | claude --bare -p "query" |
--append-system-prompt | Add to default system prompt | claude --append-system-prompt "Use TS" |
--effort | Set effort level for session | claude --effort high |
| Command | Purpose |
|---|---|
/model [model] | Switch model mid-session |
/compact [instructions] | Compact conversation, free context |
/clear | Clear conversation history |
/rewind | Rewind to a checkpoint (Esc+Esc) |
/permissions | Manage tool allow/deny rules |
/plan [description] | Enter plan mode |
/batch <instruction> | Parallel large-scale changes |
/hooks | View hook configurations |
/memory | Edit CLAUDE.md memory files |
/diff | Interactive diff viewer |
/cost | Show token usage statistics |
/effort [level] | Set effort (low/medium/high/max) |
| Shortcut | Action |
|---|---|
Ctrl+C | Cancel current generation |
Esc+Esc | Rewind / checkpoint menu |
Shift+Tab | Cycle permission modes |
Ctrl+O | Toggle transcript viewer |
Ctrl+B | Background running tasks |
Ctrl+T | Toggle task list |
Alt+P | Switch model |
Alt+T | Toggle extended thinking |
!command | Run bash directly in session |
@path | File path autocomplete |
| Mode | Behavior |
|---|---|
default | Ask for each tool use |
acceptEdits | Auto-approve file edits, ask for bash |
plan | Read-only exploration, no writes |
auto | AI classifier approves safe operations |
bypassPermissions | Skip all permission prompts |
Cycle modes with Shift+Tab. Start in a specific mode: claude --permission-mode plan.
| Tool | Description | Permission |
|---|---|---|
Bash | Execute shell commands | Yes |
Read | Read file contents | No |
Edit | Targeted file edits | Yes |
Write | Create or overwrite files | Yes |
Agent | Spawn subagent with own context | No |
Glob | Find files by pattern | No |
Grep | Search file contents | No |
WebFetch | Fetch URL content | Yes |
WebSearch | Web search | Yes |
Monitor | Background watch + react | Yes |
CLAUDE_ENV_FILE or a SessionStart hook.applyTo: "**" burns context — always-on instructions load on every interaction. Use specific globs.--bare disables everything — hooks, skills, plugins, MCP, auto-memory, CLAUDE.md. Use for fast scripted calls.if patterns use tool permission syntax: Bash(rm *) matches bash commands starting with rm.hooks, mcpServers, or permissionMode frontmatter for security reasons.Load the appropriate reference when the user needs detailed information:
./references/cli-reference.md./references/commands.md./references/interactive-mode.md./references/hooks.md./references/plugins.md./references/channels.md./references/checkpointing.md./references/tools.md./references/env-vars.md