2026年9月29日時点の結論。Claude Codeの「コマンド」と呼ばれているものは1種類ではなく、7つの系統に分かれる。セッション中に / で打つ組み込みコマンド、ターミナルから打つ claude サブコマンド、起動時のフラグ、入力欄の先頭記号(/ ! @ : ?)、キーボード操作、自分で足す skills、そしてコマンド自体を絞る設定だ。この区別がつかないまま検索すると、「ターミナルで /compact を打ったら command not found になる」「claude --resume と /resume のどちらを使うのか分からない」といった噛み合わない詰まり方をする。逆に区別がついていれば、目的のコマンドが出てこない時の切り分けも、公式ドキュメントのどのページを見ればいいかで決まる。
以下は、Anthropicの公式ドキュメント4ページ——コマンドリファレンス、CLIリファレンス、インタラクティブモード、skills(旧カスタムコマンド)——に書かれている内容だけを使って、7系統に並べ直したものだ。コマンドの増減と仕様変更が速い領域なので、バージョン条件が明記されているものは本文でもバージョンを添えた。確認日はすべて2026年9月29日で、この時点の最新版は公式の変更履歴に載っている 2.1.283 だ。
この記事の要点
- 7系統:
/で打つ組み込みコマンド、claudeサブコマンド、起動フラグ、入力欄の先頭記号、キーボード操作、自作 skills、コマンドを絞る設定。この7つは打つ場所が違うので、混同するとcommand not foundになる。 - 先頭だけ:コマンドはメッセージの先頭でしか認識されない。後ろに続けた文字列は引数になる。skills だけは v2.1.199 以降、先頭に並べた最大5個をまとめて読み込める。
- 応答中に打つと:ほとんどのコマンドはターンの終了後に実行される。
/status・/tasks・/usageなどは割り込まずその場で動く。 - 別名が多い:
/costと/statsは/usageの別名、/reviewは/code-reviewの別名、/undoと/checkpointは/rewindの別名。検索でヒットしたコマンド名が別名だった、というのはよくある。 - メニューに出ない理由は3つ:そのコマンドが自分の環境では利用できない、設計上メニューから隠されている(
/heapdumpなど)、打ち間違いでハイライトが外れている。3つとも挙動が違う。 - 自作コマンドは skills に統合:
.claude/commands/deploy.mdと.claude/skills/deploy/SKILL.mdはどちらも/deployになる。既存の.claude/commands/はそのまま動く。 - 絞るのも設定でできる:
--disable-slash-commandsで全部止める、disableBundledSkillsでバンドル skill だけ止める、skillOverridesで個別に止める、の3段。 - 今日やること:
/helpとclaude --helpを両方打って、自分が今どちらの系統を触っているかを体で覚える。
前提|コマンドは「入力の先頭」でだけ効く
コマンドが効かない時の原因で一番多いのは、打つ場所と位置の間違いだ。公式のコマンドリファレンスは「コマンドはメッセージの先頭でのみ認識される。コマンド名に続くテキストはその引数になる」と明記している。つまり「このバグを直して、あと /compact もお願い」という書き方では /compact はコマンドとして実行されず、ただの文字列としてClaudeに渡る。同じ文字列でも、先頭に置けばコマンドとして実行され、コマンド名の後ろに置けば引数になり、文章の途中に置けば文章として渡る。扱いはどこに置いたかで決まる。
例外は skills だ。v2.1.199 以降は、/skill-a /skill-b do XYZ のように先頭に skill を並べると、名前が挙がった skill を読み込み、残りのテキストを指示として扱う。公式の変更履歴は、この積み上げ呼び出しで読み込まれるのは先頭側の最大5個だと書いている。組み込みコマンドはこの並べ書きに対応していない。
応答中に打ったコマンドは待たされる
もう1つの前提が、Claudeが応答している最中に打った場合の扱いだ。Claude Codeはコマンドをキューに入れ、現在のターンが終わってから実行する。ただし /status・/tasks・/usage のように、応答を中断せずその場で実行されるコマンドもある。フルスクリーン描画では、ダイアログ系のコマンドもその場で開く。「打ったのに何も起きない」と感じた時は、まだキューに入っているだけということが少なくない。

ターミナルで打つものとセッション中に打つものは別物
/compact や /model はセッションの中で打つ。claude update や claude doctor はシェルのプロンプトで打つ。前者をシェルで打てば command not found、後者をセッションの入力欄で打てば(/ で始まっていないので)ただの文章としてClaudeに渡る。系統1と系統2を分けて覚えるだけで、この種の詰まりは消える。
系統1|セッション内のスラッシュコマンド
セッション中に / を押すと、その環境で使えるコマンドの一覧がメニューに出る。/ の後に文字を打てば絞り込める。コマンドリファレンスは「モデルの切り替え、権限の管理、コンテキストのクリア、ワークフローの実行などを素早く行う手段」と位置づけている。
作業の流れで覚える
公式ドキュメントは、コマンドを作業の流れに沿って紹介している。この並びは暗記の助けになるので、そのまま引く。
- リポジトリでの最初のセッション:
/initで CLAUDE.md の下地を作り、/memoryで整える。/mcpで必要なサーバーを設定し、/permissionsで承認ルールを決める。 - 作業中:大きな変更の前に
/planでプランモードへ。/modelと/effortでモデルと推論量を調整する。会話が長くなったら/contextで何が窓を埋めているかを見て、/compactで要約して空ける。本筋を汚したくない質問は/btw。 - 並列で走らせる:
/tasksでこのセッションの背景作業(終了済みのサブエージェントを含む)を見る。/backgroundはセッション全体を背景エージェントに切り離してターミナルを解放する。コードベース全体に及ぶ変更は/batch。 - 出荷前:
/diffで作業ツリーの変更を確認し、/code-reviewで現在の差分のバグを見る。--fixで修正まで適用でき、PR番号を渡せばプルリクエストのレビューになる。/reviewは別名。 - セッションの間:
/clearで文脈を空にして次の作業へ。/resumeで過去の会話に戻り、/branchで分岐、/forkで背景セッションへ複製する。 - おかしくなった時:
/rewindでコードと会話をチェックポイントまで戻す。/doctorはインストールと設定の健診で修正もでき、/debugは実行時の問題を追う。/feedbackはセッションの文脈付きで不具合を報告する。

よく使う組み込みコマンドの早見表
急いでいる時に引く用の表だ。すべて公式のコマンドリファレンスの記述に基づく。
| コマンド | 何をするか |
|---|---|
/help |
ヘルプと利用可能なコマンドを表示する |
/init |
プロジェクトに CLAUDE.md の下地を作る |
/memory |
CLAUDE.md の編集、自動メモリの有効化、登録内容の確認 |
/context [all] |
コンテキスト使用量を色付きのグリッドで可視化する |
/compact [指示] |
ここまでの会話を要約して文脈を空ける |
/autocompact [auto\|トークン数] |
自動コンパクトが走る窓の大きさを決める |
/clear [名前] |
文脈を空にして新しい会話を始める(別名 /reset・/new) |
/resume [セッション] |
IDか名前で会話を再開、または選択画面を開く(別名 /continue) |
/rewind |
会話とコードを以前の地点に戻す(別名 /checkpoint・/undo) |
/diff |
Claudeの編集を含む作業ツリーの変更を見る |
/model [モデル] |
モデルを切り替え、新規セッションの既定として保存する |
/effort [レベル] |
推論の量を low〜xhigh・max・ultracode・auto で決める |
/fast [on\|off] |
fast モードの切り替え |
/plan [説明] |
入力欄から直接プランモードに入る |
/permissions |
許可・確認・拒否のルールを対話的に管理する |
/usage |
セッション費用、プランの上限、活動統計を見る(別名 /cost・/stats) |
/status |
設定画面のステータスタブ。バージョン、モデル、アカウント、接続状態 |
/config [key=value] |
設定画面を開く、または値を直接設定する |
/doctor |
インストールと設定の健診。問題の診断と修正ができる |
/debug [説明] |
このセッションのデバッグログを有効にし、ログを読んで切り分ける |
/skills |
利用可能な skill の一覧。絞り込み、トークン数での並べ替え、表示の切り替え |
/tasks |
このセッションの背景作業を見る(/bashes でも同じ) |
/export [ファイル名] |
会話をプレーンテキストで書き出す |
/keybindings |
キーボードショートカットの定義ファイルを開く |
/terminal-setup |
改行用の Shift+Enter キーバインドを対応エディタに入れる |
/output-style [スタイル] |
出力スタイルの一覧表示と切り替え(v2.1.269 以降) |
/exit |
CLIを終了する(別名 /quit) |
/skills の画面では、t でトークン数順に並べ替え、Space か Enter で「Claudeと / メニューに見せるかどうか」を切り替え、Esc で保存して閉じる。プラグイン由来の skill、フロントマターで disable-model-invocation: true が設定された skill、管理設定で skillOverrides が指定された skill は切り替えられない。
別名(エイリアス)の存在を知っておく
検索で出てきたコマンド名が別名だった、という食い違いは頻繁に起きる。主な別名を並べる。
/cost と /stats は /usage の別名で、/stats は統計タブで開く。/review は /code-review の別名で、同じ効果レベルとフラグを受け取る。/checkpoint と /undo は /rewind、/reset と /new は /clear、/continue は /resume、/quit は /exit、/bg は /background、/app は /desktop、/ios と /android は /mobile、/rc は /remote-control、/tp は /teleport、/proactive は /loop、/routines は /schedule、/peers は /list-agents、/bashes は /tasks にあたる。
別名は、自作の skill で上書きする時に効いてくる。公式は「自分の skill はバンドルされたコマンドを置き換えるが、その別名は置き換えない」と明記している。プロジェクトに code-review という skill を置くと /code-review は自分のものになるが、別名の /review は最後までバンドル側を呼ぶ。
消えたコマンド・隠れているコマンド
過去の記事やブログに出てくるのに手元で動かないコマンドは、削除されたか隠されている。/pr-comments は v2.1.91 で削除され、いまはClaudeに直接PRのコメントを見てもらう形になった。/vim は v2.1.92 で削除され、Vimと通常の編集モードの切り替えは /config のエディタモードに移った。/ultraplan も削除され、プランモードを使う形になっている。
一方、利用できるのに意図的にメニューに出していないコマンドもある。/heapdump(メモリ使用量の診断用)と /rate-limit-options(上限に当たった時の選択肢)は、フルネームを打たないとメニューに現れない。/setup-bedrock は CLAUDE_CODE_USE_BEDROCK=1 を設定するまで、/setup-vertex は CLAUDE_CODE_USE_VERTEX=1 を設定するまで隠れている。
/heapdump については注意書きがある。不具合報告に添えるのは -diagnostics.json だけにすること。.heapsnapshot には会話の全文と資格情報が含まれるので共有してはいけない。
系統2|ターミナルから打つ claude サブコマンド
セッションを開かずにシェルから打つ系統だ。CLIリファレンスに一覧がある。
claude サブコマンドの早見表
| コマンド | 何をするか |
|---|---|
claude |
対話セッションを開始する |
claude "質問" |
最初のプロンプト付きで対話セッションを開始する |
claude -p "質問" |
対話モードに入らず応答を出力して終了する |
claude -c |
このディレクトリで直近の会話を継続する |
claude -r "<セッション>" "質問" |
IDか名前でセッションを再開する |
claude update |
最新版に更新する |
claude install [バージョン] |
ネイティブバイナリを入れ直す。stable・latest・2.1.118 のような指定が可能 |
claude auth login |
サインインする。--console でAPI課金のConsoleアカウントを選べる |
claude auth status |
認証状態をJSONで表示する。--text で人が読む形式。ログイン済みなら終了コード0 |
claude doctor |
セッションを開かずにインストールと設定の診断を読み取り専用で出す |
claude agents |
並列の背景セッションを監視・投入するエージェントビューを開く |
claude attach <id> |
背景セッションをこのターミナルに接続する |
claude logs <id> |
背景セッションの直近の出力を表示する |
claude stop <id> / claude respawn <id> |
背景セッションを止める/会話を保ったまま再起動する |
claude mcp |
MCPサーバーを設定する。claude mcp login <名前> でOAuthだけ通せる |
claude plugin |
プラグインを管理する(claude plugins でも同じ) |
claude setup-token |
CIやスクリプト用の長期OAuthトークンを生成する。端末に表示するだけで保存はしない |
claude project purge [パス] |
プロジェクトのローカル状態(記録、タスク、デバッグログ等)を削除する。--dry-run で事前確認 |
claude doctor と /doctor は名前が似ているが役割が違う。claude doctor はターミナルから読み取り専用の診断を出すだけで、/doctor はセッション内で健診を実行し、修正まで適用できる。公式もこの違いを明記している。なお /doctor は v2.1.205 以降はバンドル skill で、それ以前は組み込みコマンドだった。
認証とバージョンはCLI側で確認する
「ログインできているか」「どのバージョンか」を機械的に確かめたい時は、セッション内の /status ではなく claude auth status を使う。終了コードがログイン済みで0、未ログインで1になるので、スクリプトの前段チェックに置ける。インストールの健全性やPATHの問題も claude doctor 側が読み取り専用で出す。
系統3|起動時のフラグ
フラグは claude を起動する時に一度だけ渡す。セッション中には変えられない設定が多いので、この系統を知らないと「起動し直さないと直らない問題」を延々セッション内で探すことになる。よく使うものだけ引く。
| フラグ | 何をするか |
|---|---|
--print, -p |
対話モードに入らず応答を出力する |
--continue, -c |
このディレクトリの直近の会話を読み込む |
--resume, -r |
IDか名前でセッションを再開、または選択画面を出す |
--fork-session |
再開時に元のIDを使わず新しいセッションIDを作る |
--model |
sonnet・opus・haiku・fable などの別名か正式名でモデルを決める |
--effort |
この セッションの推論量を low〜max・ultracode で決める |
--permission-mode |
default・acceptEdits・plan・auto・dontAsk・bypassPermissions のどれで始めるかを決める |
--dangerously-skip-permissions |
許可の確認を飛ばす。--permission-mode bypassPermissions と同じ |
--allowedTools / --disallowedTools |
確認なしで実行するツール/拒否するツールをルールで指定する |
--tools |
使える組み込みツールそのものを絞る。"" で全停止、"Bash,Edit,Read" のような指定も可 |
--add-dir |
作業ディレクトリを追加する。ファイルアクセスの付与で、設定の読み込みは大半が対象外 |
--settings |
設定JSONのパスかインライン文字列。このセッションだけ同じキーを上書きする |
--mcp-config / --strict-mcp-config |
JSONからMCPサーバーを読む/それ以外のMCP設定を無視する |
--debug / --debug-file |
デバッグモード。--debug='mcp,startup' のようにカテゴリで絞れる(フィルタは = の形でのみ効く) |
--bare |
hooks・skills・カスタムコマンド・サブエージェント・プラグイン・MCP・自動メモリ・CLAUDE.md の自動探索を省いて起動を速くする |
--disable-slash-commands |
このセッションの skill とコマンドをすべて無効にする |
--max-turns / --max-budget-usd |
エージェントのターン数/API支出の上限(いずれも print モード限定) |
--verbose |
ターンごとの詳細ログを出す |

--bare と --disable-slash-commands の違い
どちらも「余計なものを読ませない」フラグだが、対象が違う。--bare は自動探索を省く最小モードで、Claudeは Bash・ファイル読み取り・編集といった組み込みツールは持ったままだ。--add-dir で渡したディレクトリの skill は読み込まれる。--disable-slash-commands のほうは、このセッションの skill とコマンドを全部無効にする。スクリプトから呼ぶ時の起動時間対策なら --bare、コマンドを打たせたくない用途なら --disable-slash-commands だ。
系統4|入力欄の先頭記号
入力欄の先頭に置く記号も、実質コマンドとして働く。インタラクティブモードのドキュメントに一覧がある。
| 記号 | 何が起きるか |
|---|---|
/(先頭) |
コマンドか skill の呼び出し |
!(先頭) |
シェルモード。コマンドを直接実行し、その出力をセッションに加えてClaudeに答えさせる |
@ |
ファイルパスの補完。クロスセッションのやりとりが有効な環境では、1文字以上打つと他の稼働セッションも候補に出る |
: |
絵文字ショートコード。:name: を打ち切ると挿入、2文字以上で候補が出る(v2.1.217 以降) |
?(空入力で) |
ショートカットのヘルプパネルの表示切り替え。入力欄に文字があると ? がそのまま入る |
! は出力ごとClaudeに渡せる
! のシェルモードは、系統2の claude サブコマンドとも系統1のスラッシュコマンドとも別物だ。セッションを抜けずにシェルコマンドを走らせ、その出力をそのまま文脈に載せられる。ログやテスト結果をClaudeに見せる時の最短経路になる。

系統5|キーボード操作
覚えていないと損をするのがこの系統だ。とくに割り込みと巻き戻しは、コマンドを打つより速い。
| 操作 | 何が起きるか |
|---|---|
| Esc | Claudeの応答やツール呼び出しをターンの途中で止める。ここまでの作業は保持される |
| Esc、Esc | 入力欄に文字があれば下書きをクリアして履歴に保存。空なら巻き戻しメニューが開く |
| Ctrl+C | 実行中の処理を中断する。何も動いていなければ1回目で入力をクリア、2回目で終了 |
| Ctrl+D | セッションを終了する。1回目で確認、間を置かず続けて押した2回目で終了。入力欄に文字があるとカーソル後の1文字を削除 |
| Shift+Tab | 権限モードを巡回する(Windowsで Node/Bun が VT 入力を有効にしない場合は Alt+M) |
| Ctrl+O | 記録ビューアの表示切り替え。ツールの実行内容、時刻、使ったモデルが見える |
| Ctrl+R | コマンド履歴の逆順検索 |
| Ctrl+B | 実行中のBashコマンドやエージェントを背景に回す(tmuxでは2回押す) |
| Ctrl+T | Claudeのタスクチェックリストの表示切り替え。背景タスクの一覧ではない(それは /tasks) |
| Ctrl+S | 入力欄の文字を退避してクリア。空の状態でもう一度押すと復元する |
| Ctrl+L | 画面を再描画する。表示が崩れた時の復帰用 |
| Ctrl+G または Ctrl+X Ctrl+E | 既定のテキストエディタで入力を編集する |
| Ctrl+Enter または Ctrl+X Ctrl+S | キューに入れたメッセージを今すぐ送る |
| Ctrl+Z | プロセスを一時停止する(Unixのみ。fg で復帰) |
| Option+P / Alt+P | 入力欄を消さずにモデルを切り替える |
| Option+T / Alt+T | 拡張思考の切り替え(Opus 5.5 と Fable 系は常に拡張思考なので効果なし) |
| Option+O / Alt+O | fast モードの切り替え |
改行の入れ方は4通りある。どの端末でも効くのが \ を打ってから Enter、または Ctrl+J。macOSで Option をメタキーにしていれば Option+Enter。iTerm2・WezTerm・Ghostty・Kitty・Warp・Apple Terminal・Windows Terminal では Shift+Enter がそのまま使え、それ以外の端末では /terminal-setup でキーバインドを入れる。
記録ビューアの中の操作
Ctrl+O で開いた記録ビューアの中では別の割り当てになる。? でショートカットのヘルプ、{ と } で前後のユーザープロンプトへジャンプ(vimの段落移動と同じ感覚)、[ で会話全文を端末のネイティブなスクロールバックに書き出して Cmd+F や tmux のコピーモードで検索できるようにする、v で一時ファイルに書き出して $VISUAL か $EDITOR で開く、q・Ctrl+C・Esc で退出する。{ } [ v ? はフルスクリーン描画が必要だ。
音声入力を有効にしている場合は、Space を長押しで録音、/voice tap に切り替えるとタップで開始・停止になる。/voice [hold|tap|off] は Claude.ai アカウントが必要だ。
Vimの操作に慣れている場合は、/config のエディタモードで Vim と通常モードを切り替える。かつての /vim は v2.1.92 で削除されている。
系統6|自分で足すコマンド=skills
自作コマンドは skills に統合された。公式は「カスタムコマンドは skills に統合された。.claude/commands/deploy.md にあるファイルと .claude/skills/deploy/SKILL.md にある skill は、どちらも /deploy を作り、同じように動く」と書いている。既存の .claude/commands/ のファイルはそのまま動き続ける。skills 側で増えるのは、補助ファイルを置けるディレクトリ、自分とClaudeのどちらが呼ぶかを制御するフロントマター、そして関連する場面でClaudeが自動で読み込む能力だ。
置き場所で読み込まれる範囲が決まる
置き場所で、どのセッションに出るかが決まる。
| 置き場所 | パス | 読み込まれる範囲 |
|---|---|---|
| 組織 | 管理設定ディレクトリの .claude/skills/<名前>/SKILL.md |
組織が配布したマシンの全ユーザー |
| 個人 | ~/.claude/skills/<名前>/SKILL.md |
このマシンの全プロジェクト。Cowork とクラウドセッションは対象外 |
| プロジェクト | .claude/skills/<名前>/SKILL.md |
このリポジトリのセッション。コミットすればチーム全員に入る |
| 入れ子 | <サブディレクトリ>/.claude/skills/<名前>/SKILL.md |
そのディレクトリ以下で開いたセッション。上位で開いた場合はClaudeがそこのファイルを触った時点で読まれる |
| 追加ディレクトリ | --add-dir で渡したディレクトリの .claude/skills/ |
そのセッションのみ |
| プラグイン | <プラグイン>/skills/<名前>/SKILL.md |
プラグインが有効な場所すべて。/プラグイン名:skill名 の形で呼ぶ |
同じ名前が複数の場所にある場合の優先順位も決まっている。組織が個人より優先、個人がプロジェクトより優先。skill と .claude/commands/ のファイルが同名なら skill が勝つ。プロジェクト直下の skill と入れ子の skill は両方読み込まれ、入れ子側は /apps/web:deploy のようにディレクトリ名付きで個別に呼べる。
セッション中に skill を足した・変えた場合は /reload-skills で再スキャンできる。プラグイン側の変更は /reload-plugins だ。MCPサーバーが公開するプロンプトもコマンドとして一覧に出る。

入れ子の skill が最初は出てこない
モノレポで詰まりやすい挙動がある。プロジェクトの skill は、セッションを開いたディレクトリとその上の親ディレクトリから読み込まれる。packages/frontend/ で開いてもリポジトリのルートに置いた skill は読まれる。一方、開いた場所より下の .claude/skills/ は起動時には読み込まれない。Claudeがそのサブディレクトリのファイルを最初に読むか編集した時点で読み込まれ、それ以降は使える。それまでは / メニューに出ず、名前で呼ぶこともできない。先に読み込ませたい場合は /add-dir にそのサブディレクトリのパスを渡す(v2.1.257 以降)。
また、予約されている名前がある。~/.claude/skills/synced/ は claude.ai から同期された skill 用なので、synced という名前の skill フォルダは大文字小文字を問わず避ける。プラグインの外で anthropic-skills という名前、または anthropic-skills: で始まる名前の skill フォルダやコマンドファイルは読み込まれない。
系統7|コマンドを絞る・止める設定
チームや組織で「これは打たせたくない」を実現する系統だ。強さの順に3段ある。
全部止める
--disable-slash-commands を付けて起動すると、そのセッションの skill とコマンドがすべて無効になる。
バンドル skill だけ止める
/doctor・/code-review・/batch・/debug・/loop・/claude-api などのバンドル skill は、disableBundledSkills 設定で切れる。ただし /doctor のセットアップ健診は、v2.1.205 以降は disableBundledSkills が有効でも打てる状態で残る。これも隠したい場合は DISABLE_DOCTOR_COMMAND 環境変数か、skillOverrides に "doctor": "off" を入れる。
個別に止める
skillOverrides を管理設定に置くと、その skill は /skills 画面からも切り替えられなくなる。組織側で固定したい時の経路がこれだ。
環境側の条件でも出るコマンドは変わる
逆に、利用できるコマンドの範囲は環境側の条件でも変わる。公式は「すべてのコマンドがすべてのユーザーに出るわけではない。利用可否はプラットフォーム、プラン、環境で決まる」と明記している。例として /desktop は macOS と x64 Windows でClaudeのサブスクにサインインしている時だけ出る。/upgrade は Enterprise プランでは出ない。/privacy-settings は Pro と Max の購読者のみ。/workflow-authoring は動的ワークフローが有効な環境でのみ使える。
コマンドが出ない・効かない時の切り分け
「あるはずのコマンドが出てこない」には、挙動の違う原因が並んでいる。どこで止まっているかで見る場所が決まるので、公式の記述に沿って順に潰す。
1. メニューのハイライトが外れているだけ。 Claude Codeは / の後の文字がコマンド名か別名に前方一致、または名前の中の単語の先頭に一致した時だけ、先頭候補をハイライトする。:・_・- の区切りは無視されるので、/adddir と打てば /add-dir がハイライトされ、/new と打てば別名経由で /clear がハイライトされる。Enter でハイライトされた候補が実行される。
2. 打ち間違えている。 打ち間違いがあるとハイライトは何も付かない。近い候補は一覧に残るので Tab か矢印キーで選べるが、そのまま Enter を押すと打った文字列がそのまま送信され、Unknown command が返る。「Unknown command と言われた」の多くはこれだ。
3. 自分の環境では利用できない。 利用できないコマンドはメニューから除外される。何も一致しない時は No commands match "/名前" が出る。利用できないコマンドを送信すると、多くは Unknown command を返すが、/schedule を Console のAPIキーで使った場合のように、独自の利用可否メッセージを返すものもある。
4. 設計上メニューから隠されている。 /heapdump・/rate-limit-options・/setup-bedrock・/setup-vertex は、部分入力ではメニューに出てこない。フルネームを打ち切って初めて一覧に現れ、送信すると実行される。
セッションと skill の側を疑う
5. キューで待つ状態になっている。 Claudeの応答中に送ったコマンドは、ターンが終わるまで待つ。/status・/tasks・/usage のように即時実行されるものと混ぜて考えると「効いていない」と誤解する。
6. セッション中に足した skill を読み込んでいない。 ディスク上で skill を追加・変更しても、そのセッションには自動で入らない場合がある。/reload-skills で再スキャンし、いくつ利用可能か・いくつ増減したかを確認する。プラグインは /reload-plugins(MCPツールの構成が変わってプロンプトキャッシュが無効になる場合は警告してスキップするので、その時は --force)。
7. 自作 skill が別名まで奪えていない。 バンドルコマンドと同名の skill を置いた場合、置き換わるのは本体だけで別名は元のままだ。/review を打っていて自分の code-review skill が動かないのはこのためで、/code-review を打つのが正解になる。
8. そもそもコマンドが削除されている。 /pr-comments(v2.1.91 で削除)、/vim(v2.1.92 で削除)、/ultraplan(削除)は、古い記事を参照している場合に踏む。

メッセージの位置を疑うのが最短
上の8つを試す前に、まず入力欄の先頭にコマンドが来ているかを見る。文章の途中に置いたコマンドは引数でも何でもなく、ただの文字列としてClaudeに渡るだけだ。エラーも出ないので気づきにくい。
番外|Claudeが打つBashコマンドを通す側の設定
ここまでは「自分が打つコマンド」の話だが、claude code コマンド 許可 のような調べ方で来る困りごとは別系統だ。Claudeが Bash でコマンドを実行する時の承認を、どう自動化するかという話になる。
入口は /permissions で、許可・確認・拒否のルールをスコープ別に見て、追加・削除し、作業ディレクトリを管理し、auto モードの直近の拒否を確認できる。ダイアログの auto モードタブからは分類ルールの閲覧と編集もできる。
ワイルドカードの置き場所で一致範囲が変わる
ルールの書き方は Bash(...) の形で、ワイルドカードの置き場所に意味がある。公式の例をそのまま引くと、Bash(npm run build) は npm run build にだけ一致し、npm run build --watch には一致しない。Bash(npm run *) は npm run build や npm run test --watch に一致し、npm install には一致しない。Bash(ls *) は ls -la にも ls 単体にも一致する(末尾の * が唯一のワイルドカードである場合)。Bash(*) は Bash と同じ意味で、すべてのBashコマンドに一致する。
拒否ルールは許可ルールより強い。Bash(aws *) のような広い拒否ルールは、Bash(aws s3 ls) のような狭い許可ルールに一致する呼び出しもまとめて止める。許可ルールで拒否ルールの例外を作ることはできない。また、Bash のようにツール名だけを書いた拒否ルールは、そのツールをClaudeの文脈から丸ごと外す(Claudeはそのツールの存在自体を見なくなる)。
Bash(git * main) のような書き方には注意が必要だ。* は置かれた位置の文字列すべてを表すので、サブコマンドの位置に置けば git merge main も git push origin main も通る。git -c core.fsmonitor=<script> diff main のような形も一致してしまうので、危険な操作を含む位置にワイルドカードを置かない。
起動時に決めるなら権限モードとツールの絞り込み
起動時に決めたい場合は --allowedTools と --disallowedTools、使えるツール自体を絞るなら --tools を使う。権限モードは --permission-mode で default(UI上の表記は Manual)・acceptEdits・plan・auto・dontAsk・bypassPermissions から選べる。--dangerously-skip-permissions は --permission-mode bypassPermissions と同じで、何が飛ばされ何が飛ばされないかは権限モードのドキュメントに定義がある。
想定の使い分け例(実測値ではありません)
以下は系統の区別がつくと何が変わるかを見せるための想定例で、特定の現場の実績ではない。
想定1:セッションが重くなってきた。 セッション内なので系統1。/context で何が窓を埋めているかを見て、/compact で要約する。自動コンパクトの発動点を変えたいなら /autocompact を打つ。ターミナルに戻って claude を打ち直す必要はない。
想定2:CIから決まったプロンプトを単発で走らせたい。 セッションを開かないので系統2と系統3。claude -p "..." に --bare を添えて自動探索を省き、--max-turns と --max-budget-usd で暴走を止める。トークンは claude setup-token で用意する。
想定3:新入りに同じ手順を毎回説明している。 系統6。手順を .claude/skills/<名前>/SKILL.md に書いてコミットすれば、そのリポジトリで開いた全員のセッションに /<名前> が出る。既存の .claude/commands/*.md があるならそのままでも動く。
想定4:特定のコマンドを組織で打たせたくない。 系統7。バンドル skill なら disableBundledSkills、個別なら管理設定の skillOverrides、全部なら --disable-slash-commands。ローカルの設定ファイルで足すのではなく、管理設定側に置くのが筋になる。
今日やる3つ
/helpとclaude --helpを両方打つ。前者がセッション内の系統1、後者がターミナル側の系統2と系統3の入口だと分かれば、検索で出てきたコマンドをどこで打つべきか迷わなくなる。/を押してメニューを上から下まで一度眺める。自分の環境で「出ないコマンド」が分かれば、プラン・プラットフォーム・環境のどれが理由かを当てられる。- 普段よく打つコマンドの別名を確認する。
/costと/statsが/usageの別名だと知らずに別の画面を探している、という無駄がここで消える。
あわせて読みたい
- Claude Codeカスタムスラッシュコマンド作成ガイド:系統6を実際に書く手順。
- Claude Code skills の作り方:フロントマターと呼び出し制御の詳細。
- settings.json 設定ガイド:系統7の設定キーを置く場所。
- シェルモード(
!)の実践:系統4の記号のうち使用頻度が高いもの。 - 権限設計のチームガイド:
Bash(...)ルールをチームで運用する形。 - /compact と /context の使い分け:系統1で最も効くコマンドの詳細。
よくある質問
Claude Codeのコマンド一覧はどこで見られますか
セッション中に / を押すと、その環境で使えるコマンドがメニューに出ます。/help でもヘルプと利用可能なコマンドが表示されます。ターミナル側のコマンドとフラグは claude --help と公式のCLIリファレンスにあります。
ターミナルで /compact を打つと command not found になります
/compact はセッションの中で打つコマンドです。まず claude でセッションを開き、その入力欄で打ってください。逆に claude update や claude doctor はシェルのプロンプトで打つもので、セッションの入力欄に入れても文章として扱われます。
コマンドを打ったのに何も起きません
Claudeが応答している最中に送ったコマンドは、ターンが終わるまでキューで待ちます。/status・/tasks・/usage などは割り込まずその場で動くので、この違いで「効いていない」と見えることがあります。もう1つ多いのが、コマンドが文章の途中に入っている場合です。コマンドはメッセージの先頭でしか認識されません。
Unknown command と出ます
打ち間違いがあるとハイライトが付かず、そのまま Enter を押すと打った文字列が送信されて Unknown command が返ります。近い候補は一覧に残っているので Tab か矢印キーで選んでください。自分の環境で利用できないコマンドを送った場合も同じメッセージが返ります。
/ メニューに出ないコマンドがあります
3つの可能性があります。プラットフォーム・プラン・環境の条件で利用できない場合はメニューから除外されます。/heapdump や /rate-limit-options のように設計上隠されているコマンドは、フルネームを打ち切ると現れます。/setup-bedrock は CLAUDE_CODE_USE_BEDROCK=1、/setup-vertex は CLAUDE_CODE_USE_VERTEX=1 を設定するまで隠れています。
/cost と /usage は違うコマンドですか
同じものです。/cost と /stats は /usage の別名で、/stats は統計タブで開きます。
自分でコマンドを追加できますか
できます。.claude/skills/<名前>/SKILL.md を置けば /<名前> になります。旧形式の .claude/commands/<名前>.md も同じ名前のコマンドを作り、いまも動きます。新しく作るなら skill 形式が推奨で、補助ファイルを置けることと、呼び出しの制御ができることが違いです。
作った skill が / メニューに出ません
セッション開始後にディスク上で追加した場合は /reload-skills で再スキャンしてください。開いたディレクトリより下の .claude/skills/ は起動時に読み込まれず、Claudeがそのディレクトリのファイルを読むか編集した時点で入ります。/add-dir にそのパスを渡せば先に読み込めます(v2.1.257 以降)。
バンドルコマンドを自分の skill で置き換えられますか
本体は置き換えられますが、別名は置き換えられません。プロジェクトに code-review skill を置くと /code-review は自分のものになり、別名の /review はバンドル側を呼び続けます。
チームでコマンドを使わせたくない場合は
3段あります。セッション単位なら --disable-slash-commands で skill とコマンドをすべて無効化。バンドル skill だけなら disableBundledSkills 設定。個別なら管理設定の skillOverrides で、この場合は /skills 画面からも切り替えられなくなります。
Claudeにコマンドを自動実行させる設定はどこですか
/permissions で許可・確認・拒否のルールを管理します。ルールは Bash(npm run *) のような形で書き、拒否ルールが許可ルールより強く効きます。起動時に決めるなら --allowedTools と --disallowedTools、使えるツール自体を絞るなら --tools です。
キーボードで応答を止めるにはどうしますか
Esc でターンの途中で止められます。ここまでの作業は保持されます。Ctrl+C は実行中の処理を中断し、何も動いていなければ1回目で入力をクリア、2回目で終了します。入力欄が空の状態で Esc を2回押すと巻き戻しメニューが開きます。
運営元 Uravation よりこの事例を自社の業務で試す場合のテーマ選定・評価・本番移行の確認項目を、無料のチェックリストにまとめています。 Claude Code業務自動化PoCチェックリストを受け取る(無料)
参考・出典
- Anthropic「Commands」(組み込みコマンドとバンドル skill の全一覧、作業の流れごとの使い分け、コマンドは先頭でのみ認識される仕様、応答中に送った時のキュー動作、メニューの一致・ハイライト・打ち間違い・隠しコマンドの挙動、利用可否がプラットフォーム・プラン・環境で決まること、削除されたコマンド、MCPプロンプト・2026年9月29日確認)
- Anthropic「CLI reference」(
claudeサブコマンド一覧、claude doctorと/doctorの違い、claude auth statusの終了コード、起動フラグ一覧、--bare・--disable-slash-commands・--permission-mode・--tools・--allowedTools・--max-turns・--max-budget-usdの定義・2026年9月29日確認) - Anthropic「Interactive mode」(キーボードショートカット、行編集の割り当て、改行の4通り、入力欄の先頭記号
/!@:?、記録ビューアのキー、音声入力、Vimモードの現在の入口・2026年9月29日確認) - Anthropic「Extend Claude with skills」(カスタムコマンドが skills に統合されたこと、
.claude/commands/の後方互換、置き場所ごとの読み込み範囲、同名時の優先順位、バンドルコマンドの別名が置き換わらないこと、モノレポと入れ子の読み込みタイミング、予約名、disableBundledSkills・skillOverrides・DISABLE_DOCTOR_COMMAND・2026年9月29日確認) - Anthropic「claude-code CHANGELOG」(確認時点の最新版 2.1.283、
/output-styleが 2.1.269 で追加されたこと、積み上げた skill 呼び出しが先頭の最大5個まで読み込まれる 2.1.199 の変更・2026年9月29日確認) - Anthropic「Permissions」(
Bash(...)ルールの一致表、ワイルドカードの位置による挙動、拒否ルールが許可ルールより優先されること、ツール名だけの拒否ルールが文脈からツールを外すこと・2026年9月29日確認)