You're sitting at the terminal, have Claude Code installed, and you're thinking: "Okay, now what?"
I know that feeling well. When I first typed claude, the tool felt like a black hole. There are now well over 100 documented command entries once you count built-ins, skills, workflows, and aliases.
This is the current Claude Code command landscape: built-in slash commands, bundled skills and workflows, CLI subcommands, flags, and keyboard shortcuts. Not every command appears for every account because platform, plan, and provider matter. For how Claude Code stacks up against OpenAI Codex, see our Claude Code vs. OpenAI Codex comparison.
- The official reference documents well over 100 command entries. This page separates built-ins, 13 bundled skills, the Deep Research workflow, and retired commands.
- Key shortcuts are Ctrl+G or Ctrl+X Ctrl+E for the external editor, Ctrl+O for Transcript Viewer, Option+P or Alt+P for model selection, and Shift+Tab for permission modes.
- CLI flags and environment variables control reasoning effort, context size, background agents, cloud sessions, worktrees, MCP, and privacy. --dangerously-skip-permissions belongs only in isolated environments.
I cross-checked the tables against Anthropic's official command reference, CLI reference, interactive-mode documentation, and installation guide. The documentation changes frequently, so retired commands are listed separately.
Installing and Starting Claude Code
# Recommended native installation on macOS, Linux, and WSL
curl -fsSL https://claude.ai/install.sh | bash
# Native installation in Windows PowerShell
irm https://claude.ai/install.ps1 | iex
# Verify the installation
claude --version
# Start Claude Code
claude # Interactive mode
claude "Fix the bug in auth" # With initial prompt
claude -p "Analyze this code" # One-time query without session
claude -c # Continue last sessionSlash Commands (Built-in)
These commands are your daily tools when working with Claude Code. Type / followed by any letters to filter. Not all commands are visible to every user, some depend on platform, plan, or environment.
Version badges show the earliest version Anthropic explicitly documents in its reference, changelog, or releases. Not documented means the current reference lists the command but gives no reliable introduction version.
/add-dir<path>/advisor[model|off]/agents/artifacts/auto-mode-setup/autocompact[auto|<tokens>]/autofix-pr[prompt]/background[prompt]/branch[name]/btw[question]/bug[report]/cd<path>/chrome/clear[name]/color[color|default]/compact[instructions]/config[key=value ...]/context[all]/copy[N]/cost/design-login/desktop/diff/effort[level|auto|status]/exit/export[filename]/fast[on|off]/feedback[report]/focus/fork[prompt]/goal[condition|clear]/heapdump/help/hooks/ide/import[codex|gemini] [--dry-run] [--yes]/init/insights/install-github-app/install-slack-app/keybindings/list-agents/login/logout/mcp[reconnect|enable|disable]/memory/mobile/model[model]/passes/permissions/plan[description]/plugin[subcommand]/powerup/privacy-settings/radio/recap/release-notes/reload-plugins[--force]/reload-skills/remote-control/remote-env/rename[name]/resume[session]/review[level] [--fix] [--comment] [target]/rewind/sandbox/schedule[description]/scroll-speed/security-review/setup-bedrock/setup-vertex/skills/stats/status/statusline/stickers/stop/subtask<task>/tasks/team-onboarding/teleport/terminal-setup/theme/tui[default|fullscreen]/ultrareview[PR|branch]/upgrade/usage/usage-credits/voice[hold|tap|off]/web-setup/workflows/clear is a real token saver. Almost reached the message limit? This command clears the context and gives you a fresh start.Bundled Skills and Workflows
Bundled skills are detailed work instructions rather than hard-coded UI logic. Claude can select them itself when the task fits, except for /verify. Workflows go further and distribute background work across several agents.
/simplify /verify check my latest diff./batch <prompt>/claude-api [migrate|upgrade|managed-agents-onboard|prompt-audit]/code-review [level] [--fix] [--comment] [target]/dataviz [request]/debug [description]/design-sync [prompt]/doctor/fewer-permission-prompts/loop [interval] [prompt]/run/run-skill-generator/simplify [target]/verifyBundled Workflow
/deep-research <question>Retired Commands
/pr-comments/ultraplan/vim/extra-usage/mcp__<server>__<prompt> and are dynamically discovered from connected servers.Keyboard Shortcuts
Keyboard shortcuts make the difference between productive flow and constant looking things up. Here are all available shortcuts for interactive mode.
General Controls
Ctrl+CCtrl+X Ctrl+KCtrl+DCtrl+G / Ctrl+X Ctrl+ECtrl+LCtrl+OCtrl+RCtrl+TCtrl+V / Cmd+V / Alt+VCtrl+BCtrl+SCtrl+ZTabArrow keys / Ctrl+P / Ctrl+NLeft / Right arrowEscEsc EscOption+T / Alt+TOption+P / Alt+POption+O / Alt+OShift+TabText Editing
Ctrl+A / Ctrl+ECtrl+KCtrl+UCtrl+WCtrl+YAlt+Y (after Ctrl+Y)Alt+BAlt+FAlt+DCtrl+_ / Ctrl+Shift+-keybindingFlavor: "readline" for Ctrl+W. Starting with 2.1.239, Alt+F and Alt+D follow the Readline behavior too.Multi-line Input
\\ + EnterOption+EnterShift+EnterCtrl+JDirect pasteQuick Commands
/ at start! at start@:? on an empty promptTheme and Voice Input
Ctrl+T in /themeHold or tap SpaceTranscript Viewer
Ctrl+O opens the full conversation with tool calls and timestamps. The viewer has its own shortcuts.
?{ / }Ctrl+E[vq / Ctrl+C / EscCLI Commands
For everyday work, starting, resuming, and claude mcp are usually enough. The CLI can now also manage background sessions, cloud environments, plugins, and local project data.
claudeclaudeclaude "query"claude "explain this project"claude -p "query"claude -p "explain this function"cat file | claude -p "query"cat logs.txt | claude -p "explain"claude -cclaude -cclaude -c -p "query"claude -c -p "Check for type errors"claude -r "session" "query"claude -r "auth-refactor" "Finish this PR"claude updateclaude updateclaude auth loginclaude auth login --ssoclaude auth logoutclaude auth logoutclaude auth statusclaude auth status --textclaude agentsclaude agents --jsonclaude doctorclaude doctorclaude mcpclaude mcp add github https://...claude mcp login | logoutclaude mcp login githubclaude gateway --configclaude gateway --config gateway.jsonclaude install [version]claude install latestclaude attachclaude attachclaude auto-mode defaults | config | resetclaude auto-mode configclaude daemon status | stopclaude daemon statusclaude import codex|geminiclaude import codex --dry-runclaude logsclaude logsclaude pluginclaude plugin listclaude project purge [path]claude project purge --dry-runclaude remote-controlclaude remote-control --name "My Project"claude respawn | rm | stopclaude stopclaude self-hosted-runnerclaude self-hosted-runnerclaude setup-tokenclaude setup-tokenclaude ultrareviewclaude ultrareviewCLI Flags
CLI flags are very useful for starting Claude Code with the right settings.
Basic Flags
-p, --printclaude -p "query"-c, --continueclaude -c-r, --resumeclaude -r "auth-refactor" "query"-n, --nameclaude -n "feature-work"-w, --worktreeclaude -w feature-auth-v, --versionclaude -vModel & System Prompt
--effortclaude --effort high--modelclaude --model claude-sonnet-5--system-promptclaude --system-prompt "You are a Python expert"--system-prompt-fileclaude --system-prompt-file ./prompt.txt--append-system-promptclaude --append-system-prompt "Always use TypeScript"--append-system-prompt-fileclaude --append-system-prompt-file ./rules.txt--exclude-dynamic-system-prompt-sectionsclaude -p --exclude-dynamic-system-prompt-sections "query"--toolsclaude --tools "Bash,Edit,Read"Agents & Subagents
--agentclaude --agent my-custom-agent--agentsclaude --agents '{"reviewer":{...}}'--append-subagent-system-promptclaude -p --append-subagent-system-prompt "Cite file paths" "query"--teammate-modeclaude --teammate-mode autoPermissions & Security
--allowedTools / --allowed-toolsclaude --allowedTools "Bash(git log *)" "Read"--disallowedTools / --disallowed-toolsclaude --disallowedTools "Edit" "Bash(curl *)"--permission-modeclaude --permission-mode plan--allow-dangerously-skip-permissionsclaude --permission-mode plan --allow-dangerously-skip-permissions--dangerously-skip-permissionsclaude --dangerously-skip-permissions--permission-prompt-toolclaude -p --permission-prompt-tool mcp_tool "query"MCP Server & Integration
--mcp-configclaude --mcp-config ./mcp.json--strict-mcp-configclaude --strict-mcp-config --mcp-config ./mcp.json--plugin-dirclaude --plugin-dir ./my-plugins--plugin-urlclaude --plugin-url https://example.com/plugin.zip--chrome / --no-chromeclaude --chrome--ideclaude --ide--channelsclaude --channels plugin:my-notifier@my-marketplace--dangerously-load-development-channelsclaude --dangerously-load-development-channels server:webhook--betasclaude --betas "feature-x"Output & Format
--output-formatclaude -p "query" --output-format json--input-formatclaude -p --input-format stream-json--json-schemaclaude -p --json-schema '{...}' "query"--include-partial-messagesclaude -p --output-format stream-json --include-partial-messages "query"--forward-subagent-textclaude -p --output-format stream-json --verbose --forward-subagent-text "query"--include-hook-eventsclaude -p --output-format stream-json --verbose --include-hook-events "query"--prompt-suggestionsclaude -p --prompt-suggestions --output-format stream-json --verbose "query"--replay-user-messagesclaude -p --input-format stream-json --output-format stream-json --verbose --replay-user-messages--verboseclaude --verboseDirectories & Session
--add-dirclaude --add-dir ../apps ../lib--environmentclaude -p "Fix the login" --environment ccpool_abc123--refclaude -p "Run the build" --environment ccpool_abc123 --ref main--from-prclaude --from-pr 123--session-idclaude --session-id "550e8400-..."--fork-sessionclaude --resume abc123 --fork-session--no-session-persistenceclaude -p --no-session-persistence "query"--tmuxclaude -w feature-auth --tmuxRemote & More
--cloudclaude --cloud "Fix all bugs"--remoteclaude --remote "Fix all bugs"--bg, --backgroundclaude --bg "check the flaky test"--execclaude --bg --exec 'pytest -x'--remote-control, --rcclaude --rc "My Project"--remote-control-session-name-prefixclaude remote-control --remote-control-session-name-prefix dev-box--teleportclaude --teleport--debugclaude --debug "api,mcp"--debug-fileclaude --debug-file /tmp/claude-debug.log--max-turnsclaude -p --max-turns 3 "query"--max-budget-usdclaude -p --max-budget-usd 5.00 "query"--fallback-modelclaude -p --fallback-model sonnet "query"--init / --maintenance / --init-onlyclaude -p --maintenance "query"--settingsclaude --settings ./settings.json--setting-sourcesclaude --setting-sources "user,project"--safe-modeclaude --safe-mode--bareclaude --bare -p "query"--autocompactclaude --autocompact 500k--advisorclaude --advisor opus--ax-screen-readerclaude --ax-screen-reader--disable-slash-commandsclaude --disable-slash-commandsclaude --model opus --verbose --add-dir src/ starts Claude with Opus model, verbose logging, and loads the src folder.Environment Variables
Beyond CLI flags, there are numerous environment variables that control Claude Code behavior. Set them in your shell or in settings.json under the env key. Values in a settings env override shell variables. Changes apply to running sessions unless a variable is explicitly read only at startup.
Model & Performance
ANTHROPIC_MODELCLAUDE_CODE_EFFORT_LEVELCLAUDE_CODE_MAX_OUTPUT_TOKENSMAX_THINKING_TOKENSCLAUDE_CODE_SUBAGENT_MODELBash & Timeouts
BASH_DEFAULT_TIMEOUT_MSBASH_MAX_TIMEOUT_MSBASH_MAX_OUTPUT_LENGTHMAX_MCP_OUTPUT_TOKENSFeature Toggles
CLAUDE_CODE_DISABLE_AUTO_MEMORYCLAUDE_CODE_DISABLE_BACKGROUND_TASKSCLAUDE_CODE_DISABLE_CRONCLAUDE_CODE_DISABLE_1M_CONTEXTCLAUDE_CODE_DISABLE_GIT_INSTRUCTIONSCLAUDE_CODE_ENABLE_PROMPT_SUGGESTIONCLAUDE_CODE_TASK_LIST_IDCLAUDE_CODE_DISABLE_BUNDLED_SKILLSCLAUDE_CODE_MAX_CONCURRENT_SUBAGENTSCLAUDE_CODE_SKIP_PROMPT_HISTORYCLAUDE_CODE_SUBPROCESS_ENV_SCRUBENABLE_TOOL_SEARCHENABLE_CLAUDEAI_MCP_SERVERSDISABLE_AUTOUPDATERDISABLE_UPDATESDISABLE_TELEMETRYDO_NOT_TRACKAuthentication & Provider
ANTHROPIC_API_KEYANTHROPIC_BASE_URLCLAUDE_CODE_USE_BEDROCKCLAUDE_CODE_USE_VERTEXCLAUDE_CODE_USE_FOUNDRYHTTP_PROXY / HTTPS_PROXYsettings.json instead of exporting them in the shell every time, e.g., {"env": {"CLAUDE_CODE_EFFORT_LEVEL": "medium"}}MCP (Model Context Protocol) Integration
MCP is one of Claude Code's most important extensions. With it, you can directly integrate external tools and services. The community is already delivering hundreds of MCP server implementations and constantly expanding the ecosystem.
# Add MCP server
claude mcp add --transport http github https://mcp.github.com
# Start with debug
claude --debug "mcp"
# Expose Claude Code itself as an MCP server
claude mcp serveTool Search can load MCP tools on demand and save context. Control it through ENABLE_TOOL_SEARCH, for example with auto, true, false, or auto:N. The best setting depends on the provider, MCP servers, and tool count.
Another feature is MCP Elicitation: MCP servers can display interactive forms or browser URLs during a task to request structured input. MCP servers can also provide their own commands in the format /mcp__<server>__<prompt>.
Skills
One of the coolest features of Claude Code? You can create your own skills that perfectly fit your workflow. Skills are the evolution of former custom commands and follow the open Agent Skills standard.
Project skills are stored in .claude/skills/ and are available to everyone in the project. Personal skills go in ~/.claude/skills/ and only apply to you. Enterprise skills are distributed organization-wide through managed settings.
---
name: test-all
description: Runs all tests and linters
argument-hint: [test-suite] [flags]
allowed-tools: Bash(npm test:*), Bash(npm run:*)
model: sonnet
disable-model-invocation: false
context: fork
---
Run the following tests:
1. npm test $ARGUMENTS
2. npm run lint
3. npm run typecheck
Show me a summary of all results.After creating it, simply type /test-all and Claude runs your complete test suite. I have about 10 such skills for recurring tasks.
name, description, argument-hint, allowed-tools, model, disable-model-invocation, user-invocable, context (fork for subagent), agent (Explore, Plan, etc.) and hooks. Variables: $ARGUMENTS, $0/$1, ${CLAUDE_SKILL_DIR}, ${CLAUDE_SESSION_ID}.Troubleshooting: When Claude Code Doesn't Do What It Should
Even after hundreds of sessions, I sometimes run into problems. Here are the most common errors and their solutions.
You can use the following debug commands for problem analysis:
# Check system status
/status
# Check installation
/doctor
# Visualize context usage
/context
# Show token costs
/cost
# Verbose mode for details
claude --verbose
# Activate debug mode
claude --debug "api,mcp"
# Session troubleshooting
/debug "my problem"
# Open configuration
/config/doctor checks installation and configuration. Run claude update only when the diagnosis recommends it. DISABLE_UPDATES also blocks manual updates.





