Claude Codeの未文書化機能:フック、メモリ、YOLO分類器など

André FigueiraがClaude Codeのソースコード(v2.1.87)を読み、数十の未公開設定オプションを発見しました。公式ドキュメントは基本をカバーしていますが、実際のパッケージ(node_modules内で自由に検査可能)には、フック、エージェントメモリ、自動モードルールなどのフィールドが公開されています。以下は、今すぐ実際に設定できる項目です。
YOLO分類機: 平易な英語でアクションを自動承認
内部では「YOLO分類機」(yoloClassifier.ts)と呼ばれるこのシステムは、環境を平易な英語で記述することで、Claudeがどの操作を自動承認できるかを決定します。settings.jsonに、"これはステージングサーバーであり、破壊的操作は許容される"のような説明を追加すると、プロンプトなしで特定のアクションが許可されます。
実行中に挙動を変えるフック戻り値
フックは標準入力でJSONを受け取り、標準出力にイベント固有のJSONを返すことができます。主要な戻り値フィールドは以下の通りです:
- PreToolUse:
updatedInput(実行前にツール入力を書き換え)、permissionDecision(許可/拒否を強制)、permissionDecisionReason、additionalContext - SessionStart:
watchPaths(ファイル変更を自動監視してFileChangedイベントを発火)、initialUserMessage(最初のユーザーメッセージに前置するコンテンツ)、additionalContext - PostToolUse:
updatedMCPToolOutput、additionalContext - PermissionRequest:
decision(updatedInputまたはupdatedPermissionsによるプログラム的な許可/拒否)
例: すべてのgit pushコマンドに--dry-runを追加するPreToolUseフック。.claude/settings.json内:
{
"hooks": {
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "~/.claude/hooks/dry-run-pushes.sh"
}]
}]
}
}~/.claude/hooks/dry-run-pushes.shのスクリプト:
#!/bin/bash INPUT=$(jq -r '.tool_input.command'これにより、実行前にコマンドが書き換えられます。これは未公開フィールドです。
セッションコンテキストとファイル監視
SessionStartフックはwatchPathsを設定してpackage.json、.env、tsconfig.jsonなどのファイルの変更を監視し、FileChangedイベントを発火させることができます。また、initialUserMessageを注入して、現在のgitブランチや未コミットの変更数などのコンテキストを前置することもできます。
ウォッチパスと初期メッセージを返すスクリプト例:
#!/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"],
"initialUserMessage": "Current branch: \($branch), uncommitted changes: \($changes)"
}'永続エージェントメモリと自動モードルール
エージェントメモリは、~/.claude/agents/ディレクトリのフィールドを使用してセッション間で永続化するように設定できます。自動モードルールは平易な英語のファイルに記述でき、Claudeにアクションを自動承認するタイミングを指示します。ソースコードはさらに、Claudeが自身の設定を洗練する「自己改善ドリームループ」を示唆しています。
ファイルの場所
- 設定:
~/.claude/settings.json(個人用)または.claude/settings.json(プロジェクト用、gitで共有可能) - スキル:
~/.claude/skills/<name>/SKILL.md(個人用)または.claude/skills/<name>/SKILL.md(プロジェクト用) - エージェント:
~/.claude/agents/<name>.md(個人用)または.claude/agents/<name>.md(プロジェクト用) - フックスクリプト: 慣例として
~/.claude/hooks/に配置し、実行可能にする(chmod +x)
これらは、文書化されたAPIを超えてClaude Codeをカスタマイズしたい開発者にとって実用的です。これらの機能はリリースごとに変更される可能性があります。
📖 全文ソース: HN AI Agents
👀 See Also

ClawCloudマネージドサービスは、Slackチーム向けのOpenClaw導入を簡素化します。
ClawCloudは、Slackワークスペースに接続し、インフラストラクチャを管理し、応答遅延を2秒未満に抑えるOpenClawのマネージドデプロイサービスを提供しています。あるユーザーは、セルフホスティングに3日かかっていたセットアップが20分で完了し、40人のチームで月額約30ドルのコストだったと報告しています。

スペクトラル:OpenClawエージェント向けMCPサーバー生成のためのアプリトラフィックキャプチャ
Spectralは、あらゆるアプリケーションからトラフィックをキャプチャし、LLMで分析して動作するMCPサーバーを生成するオープンソースツールです。これにより、OpenClawエージェントはブラウザ自動化に依存せずに、アプリの実際のAPIを直接呼び出せるようになります。

NGX-OS: eBPFとMCP統合を備えたAI向けに構築されたネットワークOS
NGX-OSは、AI統合のために一から設計されたネットワークオペレーティングシステムで、リアルタイムテレメトリにeBPFを、ネットワーク状態データへの直接的なLLMアクセスにMCPを使用し、翻訳レイヤーを介さずに動作します。

First-Tree: 就寝中にGitHub通知をトリアージするClaude Codeを使用したオープンソースデーモン
オープンソースのメニューバーデーモンで、Claude Codeを使ってGitHub通知を自律的にトリアージします。最近のスキャンでは100件中98件の通知を処理し、人間のレビューが必要だったのはわずか2件でした。