何度も引くための表と、実測の記録。記事と違って、読み物ではなく手元に置くものとして書いています。
hook の matcher、設定キー、権限ルール、サブエージェントのファイル、.mcp.json。どれも構文として正しく、エラーも警告も出ないまま無視される場所があります。イベント33種のうち10種、設定キー223個のうち71個、権限ルールの5通り、サブエージェントの5条件、timeout: 500 が約28時間に…
Claude Code の hook イベント33種を1つの表にまとめた対照表。matcher が何に当たるか、matcher を書いても無視されるのはどれか、if が評価されるのはどれかを、公式ドキュメントの記述から起こしている。
設定キーのうち 71 個は、管理設定・ユーザ設定・~/.claude.json からしか効きません。プロジェクトの .claude/settings.json に書いてもエラーにならず、警告も出ず、何も起きません。公式の設定表のスコープ列から機械的に抽出した一覧です。
設定ファイルの優先順位は5段で、管理設定が最上位。ただしリストは上書きではなく合成されるので、permissions.allow はチームの設定とあなたの設定が足し算になります。環境変数は段ではなくキーごとの勝負。そして7つのキーは、下の段の厳しい値が管理設定に勝ちます。
permissions.allow / deny / ask に書いても、エラーにならず警告も出ないまま無視される書き方が5種類あります。アンカーの無い allow グロブ、参照されないツールへのパス指定、本体の入力へのパラメータ指定、括弧つきの mcp__ ルール、コマンドの途中に置いた *。公式ドキュメントの記述…
.claude/agents/*.md は、frontmatter に問題があると黙って飛ばされます。セッションには何も出ません。飛ばされる5条件と、書ける18項目の一覧、間違えやすい置き場所(cacheTtl は experimental の中)、変更の反映に再起動が要る3つの場合。
type を書き忘れた url は stdio サーバとして読まれてスキップされます。timeout: 500 は 500ms ではなく約28時間になります(1000 未満は無視されて MCP_TOOL_TIMEOUT の既定に落ちる)。トランスポート別の必須項目、sse が非推奨であること、untrusted なフ…
Forem API v1 の、ドキュメントに書かれていない挙動の記録。レート制限は 429 ではなく 500 で返る、カバー画像のフィールド名が入力と出力で違う、更新時に published を送らないと公開済み記事が下書きに戻る。記事19本・更新約40回の実測。