😇
Claude Code 2.1.0でカスタムスラッシュコマンドが動かなくなった話
TL;DR
- Claude Code 2.1.0(2026年1月7日リリース)でカスタムコマンドの仕様が変更
-
.claude/commands/*.mdにYAMLフロントマターが必須に -
descriptionを追加すれば動く -
allowed-toolsでツール制限も可能
何が起きたか
Claude Codeを2.1.0にupdateしたら、自作のスラッシュコマンド /stage-exp コマンドが動かなくなった。
Unknown slash command: stage-exp
ファイルは .claude/commands/stage-exp.md に存在している。なぜ...?
原因
Claude Code 2.1でフロントマターが必須になっていた。
修正方法
Before(動かない)
# Stage Experiment Files
指定された実験番号のファイルをgit addでステージングします。
After(動く)
---
description: 実験ファイルをgit addでステージング
allowed-tools: Read, Write, Bash(git:*)
---
# Stage Experiment Files
指定された実験番号のファイルをgit addでステージングします。
フロントマターの仕様
| キー | 必須 | 説明 |
|---|---|---|
description |
○ | コマンド一覧に表示される説明 |
allowed-tools |
- | 使用可能なツールを制限 |
model |
- | 使用するモデルを指定 |
hooks |
- | コマンド実行時のフック定義 |
Bashのパターン制限
| 例 | 意味 |
|---|---|
Bash |
全コマンド許可 |
Bash(git:*) |
gitコマンドのみ |
Bash(git:*, npm:*) |
git/npmのみ |
Bash(terraform fmt) |
特定コマンドのみ |
Discussion