Skip to content

Latest commit

 

History

History
173 lines (133 loc) · 9.66 KB

File metadata and controls

173 lines (133 loc) · 9.66 KB

Commands Best Practice

Last Updated
Implemented

Complete reference for Claude Code commands — command definitions, frontmatter fields, and all built-in slash commands.

← Back to Claude Code Best Practice Claude

Frontmatter Fields

Custom commands are defined in .claude/commands/<name>.md with optional YAML frontmatter.

Field Type Required Description
description string Recommended What the command does. Shown in autocomplete and used by Claude for auto-discovery
argument-hint string No Hint shown during autocomplete (e.g., [issue-number], [filename])
allowed-tools string No Tools allowed without permission prompts when this command is active
model string No Model to use when this command runs (e.g., haiku, sonnet, opus)

String Substitutions

Available inside command markdown for dynamic values:

Variable Description
$ARGUMENTS All arguments passed when invoking the command
$ARGUMENTS[N] Access a specific argument by 0-based index
$N Shorthand for $ARGUMENTS[N] (e.g., $0, $1)
${CLAUDE_SESSION_ID} Current session identifier
!`command` Dynamic context injection — shell command output replaces the placeholder before Claude sees it

Invocation

Custom commands are invoked by typing /command-name in Claude Code's interactive mode:

Method Description
/command-name Invoke directly from the command menu
/command-name [args] Pass arguments that map to $ARGUMENTS
Autocomplete Type / to see all available commands with descriptions
Subdirectories Commands in subdirectories use /subdir:command-name

Example: Minimal Command

---
description: Fetch weather data for Dubai and create an SVG weather card
model: haiku
---

Fetch the current temperature for Dubai, UAE and create a visual SVG weather card.

Example: Full-Featured Command (All Fields)

---
description: Fix a GitHub issue by number, following team coding standards
argument-hint: [issue-number]
allowed-tools: Read, Edit, Write, Bash(gh *), Bash(npm test *)
model: sonnet
---

Fix GitHub issue $0 following our coding standards.

## Context
- PR diff: !`gh pr diff`
- Issue details: !`gh issue view $0`

## Steps
1. Read the issue description
2. Understand the requirements
3. Implement the fix
4. Write tests
5. Create a commit

Session: ${CLAUDE_SESSION_ID}

Scope and Priority

When multiple commands share the same name, the higher-priority location wins:

Location Scope Priority
Project (.claude/commands/) This project only 1 (highest)
Personal (~/.claude/commands/) All your projects 2
Plugin (<plugin>/commands/) Where plugin is enabled 3 (lowest)

Claude Commands

All Commands

Built-in slash commands available in Claude Code's interactive mode:

Command Tag Description
/clear Session Clear conversation history and start fresh
/compact [instructions] Session Compress conversation to free context window. Optional instructions focus the compaction
/exit Session Exit the REPL
/fork Session Fork the current conversation into a new session
/rename <name> Session Rename the current session for easier identification
/resume [session] Session Resume a previous conversation by ID or name, or open the session picker
/rewind Session Rewind conversation and/or code to an earlier point
/teleport Session Resume a remote session from claude.ai (subscribers only)
/context Context Visualize current context usage as a colored grid with token counts
/cost Context Show token usage statistics and spending for the current session
/stats Context Visualize daily usage, session history, streaks, and model preferences
/usage Context Show plan usage limits and rate limit status (subscription plans only)
/fast Model Toggle fast mode — same Opus 4.6 model with faster output
/model Model Switch models (haiku, sonnet, opus) and adjust effort level
/plan Model Enter read-only planning mode — suggests approaches without making changes
/init Project Initialize a new project with CLAUDE.md guide
/memory Memory View and edit CLAUDE.md memory files (user, project, and local scope)
/config Config Open the interactive Settings interface with search functionality
/keybindings Config Customize keyboard shortcuts per context, create chord sequences
/permissions Config View or update tool permissions
/sandbox Config Configure sandboxing with dependency status
/statusline Config Set up Claude Code's status line UI
/terminal-setup Config Enable shift+enter for newlines in IDE terminals
/theme Config Change the color theme
/vim Config Enable vim-style editing mode
/agents Extensions Manage custom subagents — view, create, edit, delete
/hooks Extensions Interactive interface to manage hooks
/ide Extensions Connect to IDE integration
/mcp Extensions Manage MCP server connections — add, enable, list, get info, OAuth
/plugin Extensions Manage plugins — install, uninstall, enable, disable, browse marketplaces
/skills Extensions View available skills and their descriptions
/debug [description] Debug Troubleshoot the current session by reading the debug log
/doctor Debug Check the health of your Claude Code installation
/feedback Debug Generate a GitHub issue URL for reporting bugs or feedback
/help Debug Show all available slash commands and usage help
/tasks Debug List and manage background tasks
/todos Debug List current TODO items
/copy Export Copy the last assistant response to clipboard
/export [filename] Export Export the current conversation to a file or clipboard
/login Auth Authenticate with Claude Code via OAuth
/logout Auth Log out from Claude Code

Commands in This Repository

Custom commands defined in .claude/commands/ for this project:

Command Description Model
weather-orchestrator Fetch weather data for Dubai and create an SVG weather card haiku
workflows/best-practice/workflow-claude-subagents Track Claude Code subagents report changes and find what needs updating

Sources