Slash commands are typed shortcuts in Claude Code that execute predefined tasks. Two flavors: built-in commands ship with Claude Code, custom commands live in .claude/commands/ folders.
Built-in Commands
Complete list as of January 2026:
| Command | Purpose |
| ------------------------- | ----------------------------------------- | ------------------------ |
| /add-dir | Add additional working directories |
| /agents | Manage custom AI subagents |
| /bashes | List and manage background tasks |
| /bug | Report bugs to Anthropic |
| /clear | Clear conversation history |
| /compact [instructions] | Compact conversation with optional focus |
| /config | Open settings interface |
| /context | Visualize current context usage |
| /cost | Show token usage statistics |
| /doctor | Check installation health |
| /exit | Exit the REPL |
| /export [filename] | Export conversation to file or clipboard |
| /help | List available commands |
| /hooks | Manage hook configurations |
| /ide | Manage IDE integrations |
| /init | Initialize project with CLAUDE.md |
| /install-github-app | Set up Claude GitHub Actions |
| /login | Switch Anthropic accounts |
| /logout | Sign out |
| /mcp | Manage MCP server connections |
| /memory | Edit CLAUDE.md memory files |
| /model | Select or change AI model |
| /output-style | Set response formatting |
| /permissions | View or update tool permissions |
| /plan | Enter plan mode for complex tasks |
| /plugin | Manage Claude Code plugins |
| /pr-comments | View pull request comments |
| /privacy-settings | Update privacy settings |
| /release-notes | View release notes |
| /rename <name> | Rename current session |
| /remote-env | Configure remote session environment |
| /resume [session] | Resume conversation by ID or name |
| /review | Request code review |
| /rewind | Rewind conversation and code changes |
| /sandbox | Enable sandboxed bash with isolation |
| /security-review | Security review of pending changes |
| /stats | Visualize daily usage and session history |
| /status | Open settings status tab |
| /statusline | Configure status line UI |
| /teleport | Resume remote session from claude.ai |
| /terminal-setup | Install Shift+Enter key binding |
| /theme | Change color theme |
| /todos | List current TODO items |
| /usage | Show plan usage and rate limits |
| /vim | Enter vim mode |
Custom Commands
Create markdown files in designated directories:
Project commands: .claude/commands/ (shared via git, project-specific)
Personal commands: ~/.claude/commands/ (available across all projects)
Basic Example
mkdir -p .claude/commands
echo "Analyze this code for performance issues:" > .claude/commands/optimize.mdInvoke with /optimize.
Using Arguments
Fix issue #$1 with priority $2./fix-issue 123 high expands to “Fix issue #123 with priority high.”
$ARGUMENTS captures everything: /fix-issue 123 high gives $ARGUMENTS = "123 high".
Frontmatter Options
Commands support YAML frontmatter for configuration:
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
argument-hint: [message]
description: Create a git commit
model: claude-3-5-haiku-20241022
context: fork
agent: general-purpose
disable-model-invocation: false
hooks:
PreToolUse:
- matcher: "Bash"
hooks:
- type: command
command: "./scripts/validate.sh"
once: true
---| Field | Purpose |
|---|---|
allowed-tools | Tools the command can use without approval |
argument-hint | Expected arguments format shown in /help |
description | Command description |
model | Force specific model (haiku for fast tasks) |
context | fork runs as subagent, inline runs in conversation |
agent | Agent type when using fork context |
disable-model-invocation | Prevent Skill tool from calling programmatically |
hooks | Event handlers during command execution |
Embedding Shell Output
Prefix commands with ! to execute and embed results:
---
allowed-tools: Bash(git status:*), Bash(git diff:*)
description: Explain the git diff
---
## Context
- Current status: !`git status`
- Current diff: !`git diff HEAD`
Explain what changed.File References
Use @ to reference files:
Review the implementation in @src/utils/helpers.js
Compare @src/old-version.js with @src/new-version.jsPractical Command Examples
Smart Commit
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
argument-hint: [message]
description: Commit with sanity checks
model: haiku
---
Before committing, check for:
- TODO comments in changed files
- console.log or print statements
- Commented-out code blocks
- Test flags left enabled
If clean, commit with message: $ARGUMENTS
If issues found, list them and ask whether to proceed.PR Review
---
allowed-tools: Read, Grep, Glob, Bash(git diff:*)
description: Comprehensive PR review
---
## Changed Files
!`git diff --name-only HEAD~1`
## Detailed Changes
!`git diff HEAD~1`
## Review Checklist
1. Code quality and readability
2. Security vulnerabilities
3. Performance implications
4. Test coverage
5. Documentation completeness
Provide specific, actionable feedback by priority.Test Runner
---
allowed-tools: Bash, Read, Edit
argument-hint: [test-pattern]
description: Run tests with pattern matching
---
Run tests matching: $ARGUMENTS
1. Detect test framework (Jest, pytest, etc.)
2. Run tests with provided pattern
3. If failures, analyze and fix
4. Re-run to verifyMCP Commands
Connected MCP servers expose prompts as slash commands:
/mcp__<server-name>__<prompt-name> [arguments]
Example: /mcp__github__list_prs, /mcp__jira__create_issue "Bug title" high
Skills vs Slash Commands
| Aspect | Slash Commands | Agent Skills |
|---|---|---|
| Complexity | Simple prompts | Complex capabilities |
| Structure | Single .md file | Multi-file SKILL.md |
| Invocation | Manual only | Auto-discovered + manual |
| Use case | Frequent tasks | Domain expertise |
For complex workflows, consider Spec Kit slash commands which structure entire development workflows.
Tips
/helpshows all available commands including custom ones- Autocomplete works anywhere in input, not just at start
- Use
model: haikufor fast, simple commands - Built-in commands like
/initand/compactcannot be invoked programmatically via Skill tool - Use
#prefix for quick memory additions without opening /memory
Related
- Claude Code
- Skills for auto-discovered expertise
- Subagents for isolated workers
- MCP servers can expose commands
- Spec Kit workflow commands
- GitHub Spec Kit