😇

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