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

AskAlf: セルフホスト型AIワークフローのためのオープンソースマルチエージェントオーケストレーションプラットフォーム
AskAlfは、独自のハードウェア上で動作するオープンソースのマルチエージェントオーケストレーションプラットフォームです。pgvectorに保存された10層の認知メモリを持つ自律システムを通じて調整する専門的なワーカーを動的に作成します。

パイロットコンソール:プライベートAIエージェントネットワーク管理用ウェブダッシュボード
ある開発者が、Pilot Protocolを基盤とするP2Pネットワーク層を使用して、プライベートAIエージェントネットワークを管理するためのウェブダッシュボード「Pilot Console」を構築しました。開発者はClaudeを活用してバックエンドAPIのルーティングを生成し、Reactダッシュボードの構造を設計することで、開発を加速させました。

Qwen3.5-9B-Claude-4.6-Opus-Uncensored-v2モデルがLM Studio設定付きでリリースされました
Qwen3.5-9BアーキテクチャとClaude 4.6 Opusの学習データを統合した無検閲モデルが利用可能になりました。最適なパフォーマンスを得るためのLM Studio 0.4.7の設定(温度0.7、トップKサンプリング20など)が提供されています。

NotebookLM MCP 構造化:無料サーバーがClaudeをNotebookLMに自動プロンプト構造化で接続
NotebookLM MCP Structuredという無料のMCPサーバーは、Claude DesktopをNotebookLMノートブックに接続し、自動プロンプト構造化を実現します。このサーバーは、クエリの種類(比較、リスト、分析、説明、抽出)に基づいてクエリを再構築し、完全性チェックと忠実性制約を追加します。