世界を動かす技術を、日本語で。

クロードコード – ドキュメントに書かれていない設定可能なすべてのこと

概要

  • Claude Code の内部許可システム「YOLO Classifier」の詳細解説
  • ドキュメント未記載の 設定・フック・スキル・エージェント の拡張機能
  • hooks によるリアルタイム動作変更と自動化例
  • frontmatter やmemoryなど、公式未公開のパラメータ紹介
  • バージョン依存性 と実装時の注意点

Claude CodeのYOLO Classifierと未公開機能

  • 内部で YOLO Classifier と呼ばれる自動許可判定システム(yoloClassifier.ts
  • 設定ファイルで 英語の説明文 を記述するだけで、環境や許容操作を柔軟に指定可能
    • 例:「this is a staging server, destructive operations are acceptable」
  • npmパッケージ としてnode_modulesにソースが含まれ、誰でも中身を確認可能
  • 公式ドキュメント未掲載の フィールド・レスポンス形式・設定項目 が多数存在

バージョン注意

  • 本内容は @anthropic-ai/claude-code@2.1.87 時点の情報
  • 未公開機能は 将来のバージョンで変更・削除される可能性 あり
  • EXPERIMENTAL付きフィールドは特に不安定扱い

設定ファイル配置・構成

  • 個人設定~/.claude/settings.json
  • プロジェクト設定.claude/settings.json(git共有可)
  • スキル~/.claude/skills/<name>/SKILL.md または .claude/skills/
  • エージェント~/.claude/agents/<name>.md
  • フックスクリプト~/.claude/hooks/
    • スクリプトはchmod +xで実行権限付与

フック(hooks)による高度な自動化

  • 公式ドキュメント未記載 のフックレスポンスフィールド多数
  • PreToolUse フックでコマンド入力書き換え・自動許可判定などが可能
    • 例:updatedInputでgit pushコマンドに--dry-run自動付与
  • SessionStart フックでファイル監視や初期文脈注入
    • 例:現在のgitブランチ・未コミットファイル数を自動取得
  • PostToolUse フックでツール実行後の出力加工や追加文脈注入
  • PermissionRequest フックでプログラム的な許可・拒否判定

hooks設定例

  • PreToolUseでgit pushをdry-run化

    {
      "hooks": {
        "PreToolUse": [{
          "matcher": "Bash",
          "hooks": [{
            "type": "command",
            "command": "~/.claude/hooks/dry-run-pushes.sh"
          }]
        }]
      }
    }
    
    • シェルスクリプト例(dry-run-pushes.sh):
      #!/bin/bash
      INPUT=$(jq -r '.tool_input.command' < /dev/stdin)
      if echo "$INPUT" | grep -q 'git push'; then
        jq -n --arg cmd "$INPUT --dry-run" '{"updatedInput": {"command": $cmd}}'
      fi
      
  • SessionStartでgit情報・ファイル監視を注入

    {
      "hooks": {
        "SessionStart": [{
          "hooks": [{
            "type": "command",
            "command": "~/.claude/hooks/session-context.sh",
            "statusMessage": "Loading project context..."
          }]
        }]
      }
    }
    
    • シェルスクリプト例(session-context.sh):
      #!/bin/bash
      BRANCH=$(git branch --show-current 2>/dev/null)
      CHANGES=$(git status --porcelain 2>/dev/null | wc -l | tr -d ' ')
      jq -n \
        --arg branch "$BRANCH" \
        --arg changes "$CHANGES" \
        '{ "watchPaths": ["package.json", ".env", "tsconfig.json"], "additionalContext": "Current branch: \($branch). Uncommitted changes: \($changes) files." }'
      
  • PreToolUseで読み取り専用コマンドを自動許可

    {
      "hooks": {
        "PreToolUse": [{
          "matcher": "Bash",
          "hooks": [{
            "type": "command",
            "command": "~/.claude/hooks/auto-approve-readonly.sh"
          }]
        }]
      }
    }
    
    • シェルスクリプト例(auto-approve-readonly.sh):
      #!/bin/bash
      CMD=$(jq -r '.tool_input.command' < /dev/stdin)
      if echo "$CMD" | grep -qE '^(ls|cat|echo|pwd|whoami|date|git status|git log|git diff)'; then
        echo '{"permissionDecision": "allow", "permissionDecisionReason": "Safe read-only command"}'
      fi
      

hooks追加プロパティ

  • once :一度だけ実行し自動解除(初回セットアップ等に最適)
  • async :バックグラウンド実行で処理をブロックしない
  • asyncRewake :通常は非同期だが、exit code 2時のみ処理をブロック

スキル・エージェントの未公開frontmatterパラメータ

  • model :利用モデル(例:haiku, opus)を指定
  • effort :推論深度(low, medium, high, max)
  • hooks :スキル有効時のみ作用するフック
  • agent :カスタムエージェントへの委譲
  • disable-model-invocation :自動起動禁止(/skill-nameのみ有効)
  • shell :実行シェル指定(例:bash)

agent用frontmatter追加項目

  • color :UIでの色分け(red, orange, yellow, green, blue, purple, pink, gray)
  • memory :永続メモリ(user, project, local)
    • 例:プロジェクトごとの知識ベース構築
  • omitClaudeMd :CLAUDE.mdの指示階層を読み込まない
  • criticalSystemReminder_EXPERIMENTAL :毎ターン注入されるシステムリマインダー(実験的)
  • requiredMcpServers :必須MCPサーバーパターン指定

まとめ

  • Claude Code公式ドキュメント未掲載 の強力な拡張機能を多数搭載
  • ソースコード解析 で新たな設定や自動化が可能
  • hooks・frontmatter を活用することで、 独自のワークフローや安全対策 を実装可能
  • バージョンアップ時の互換性 に注意しつつ、積極的な活用で開発効率と安全性を大幅向上

Hackerたちの意見

claudeパッケージは毎週10個の新しいバージョンが出て、数ヶ月ごとに新しいモデルが登場するから、ドキュメントに載ってないトリックに頼るのは絶対にやめた方がいいよ。すぐに変わるし、超特化した設定が壊れちゃうから。

私の経験では、「ドキュメントに載ってないトリック」って、ドキュメントにある機能と同じくらい壊れることが多いよ。例えば、1M opusをリリースした後に「コンテキストをクリアして計画を実行」オプションが削除されたのは、「コンテキストウィンドウはもう問題じゃないから」って理由だったし。

それは本当だけど、「一時的なハック」は「最先端」のワークフローを左右することもあるよね。毎回のリリースでclaudeの指示を再設計するわけじゃないけど、いくつかのリリースでは既存の指示を見直して、今のモデルに合っているか確認する価値があるよ。それで明らかな違いが出た。

新しいバージョンが出るたびに、効率的に低レベルのカスタマイズを扱う自動化を構築することは可能だよ。

Claude Codeの機能の多様性はすごいね。この調子だと、次の教皇はAnthropicから出るかも。

浅いコメントでごめんだけど、これは本当に素晴らしいジョークだね、マジで。よくやった。

最近のスピーチを考えると、彼らは頑張ってるんだろうね。

あの「マジックドキュメント」機能について興味があるんだけど、それはCLAUDE.mdに入れるものなの?それともプロジェクトファイルに?セッション中にそのファイルを言及する必要があるのか、それともClaudeがプロジェクト内の「マジックドキュメント」ヘッダーのすべての言及を自動で探すの?

正直な状況 > 100%ではない - それが長い道のりになる理由を正直に言いたい... https://github.com/user-attachments/assets/961eff6c-0060-45d... 私はClaude Codeにタスクの達成を諦めてほしくないんだ。ほんとにイライラする。/goalや新しいultracodeを使っても、常に諦めちゃう。私のプロジェクトはすごく複雑なんだけど(https://github.com/mohsen1/tsz)、Codexはそんな風に止まらずにずっと頑張ってくれるから。

うん、クロードにタスクリストを埋めてもらったんだけど、タスクリストの最後に行く前に、続けるか、いくつか終わらせるだけでいいか聞いてくるんだよね。

今は/loopを使ってて、やる気を出すためのプロンプトを与えてくれるんだ。Goalも使えるけど、いくつかのことにはシンプルなループの方がいいね。

AIコーディングエージェントのアプリケーション構造って、llmモデル全体でほぼ普遍的なものが出てきてるのかな?誰かこのアーキテクチャスタイルを理解するために集めたり書いたりしてる人いる?

この建築スタイルを理解するために集めたり書いたりしてる人いる?同じサイトにいるのかな?他に何か書いてる人いる?

この記事が2026年4月1日に公開されたってこと、他にも気づいた人いる?

実際のバイナリをgrepして確認することにしたよ。現在のバージョンは2.1.156だけど、投稿は2.1.87に基づいてる。ほとんどの部分は2.1.156でも通用するよ:フックレスポンスフィールド(updatedInput、permissionDecision、additionalContext、watchPathsなど)、追加のフック設定フィールド(once、asyncRewake)、スキル/エージェントのフロントマター(omitClaudeMd、criticalSystemReminder_EXPERIMENTAL、memory、color、context: fork)、autoMode/autoMemoryEnabled/autoDreamEnabledは、すべて実際のZodスキーマの設定キーとして現れてる。autoModeはallow/soft_deny/environmentの形を持ってて、文書化されてないhard_denyもある。投稿から2.1.156で見つけられなかった2つのこと:yoloClassifier(今の最も近いフラグはyoloEquivEnabled)と「Magic Docs」 / # MAGIC DOC: regex(残ってるMAGIC文字列はファイルのマジックバイトに関するものだけ)。

この記事は2ヶ月前のもので、部分的に古くなってる。一部の機能は文書化されてるよ、例えば自動モードね: https://code.claude.com/docs/en/auto-mode-config#define-trus...

そうだね、めっちゃ古いよ。

クロードに自分の設定を生成させることってできる?「お前は俺だ、完璧な設定ファイルを作れ。」

たぶんそうだね。自分のドキュメントを探るためのツールが内蔵されてるみたいだし、.claude/ ディレクトリで作業するための特別なモードもある。ユーザーがこうすることを意図してるんだと思う。

会話履歴を見て許可を追加するスラッシュコマンドがあるよ。

うわ、モデルが実際にどう動くかに大きな影響を与える環境変数について全く触れられてないね - https://code.claude.com/docs/en/env-vars ベッドロックデプロイや他のあまり標準的でないデプロイには非常に重要だよ。私がデプロイした方法の鍵は、適応思考を無効にすること、最大思考トークン、テレメトリーを無効にすること、などだ。

記事名: "ドキュメントに載ってないこと全部" あなた: "ドキュメントにあるこの機能を見逃してる!" 確かに、それはCCの設定の重要な部分だよ。でも、記事の存在意義には合わないね。

でも、4.7以上を使ってる場合は適応思考は設定できないから、現代のオーパスを使ってる人には基本的に無意味だよ。https://code.claude.com/docs/en/model-config#adaptive-reason... > オーパス4.7以降は常に適応的推論を使用する。固定思考予算モードとCLAUDE_CODE_DISABLE_ADAPTIVE_THINKINGは適用されない。