仕組み
Claude Code は、Bash および PowerShell ツールを通じて実行するすべてのコマンド、および hook コマンドに対して、CLAUDECODE 環境変数を 1 に設定します。v2.1.172 以降では、同じサブプロセスで CLAUDE_CODE_CHILD_SESSION も 1 に設定します。CLI がこれらの変数のいずれかを検出すると、自己終了型の <claude-code-hint /> タグを stderr に書き込みます。hook コマンドではヒントタグは削除され、無視されます。Bash および PowerShell ツール出力のみがインストールプロンプトをトリガーします。
Claude Code がコマンド出力を受け取ると、以下を実行します。
- ヒント行をスキャンし、出力がモデルに到達する前に削除します
- ヒントが公式 Anthropic マーケットプレイスのプラグインをターゲットにしていることを確認します
- プラグインがまだインストールされていないこと、および以前にプロンプトが表示されていないことを確認します
- ヒントを出力したコマンドの名前を表示するインストールプロンプトをユーザーに表示します
ヒントを出力する
ヒントプロンプトは、公式 Anthropic マーケットプレイスにリストされているプラグインに対してのみ発火します。統合をリリースする前に、プラグインを公式マーケットプレイスに登録するを参照してください。 環境変数でゲートを設定して、マーカーが人間のユーザーが CLI を直接実行するときに表示されないようにします。次に、タグを stderr に独立した行として書き込みます。チェックする変数を選択してください。CLAUDECODE: Claude Code のすべてのバージョンで設定されるため、最も多くのセッションに到達します。Claude Code が起動する tmux セッションと stdio MCP サーバーサブプロセスでも設定され、IDE 拡張機能は統合ターミナルで設定します。人間のユーザーが CLI を直接実行する可能性があります。CLAUDE_CODE_CHILD_SESSION: Claude Code 自体が生成するサブプロセス(ツール呼び出し、hook コマンド、status line コマンドなど)でのみ設定されるため、タグは通常、人間のターミナルに到達しません。セッション内で開始された長時間実行されるプロセス(tmux サーバーなど)は変数をキャプチャするため、そのプロセスから後で起動されたシェルは依然として生のタグを表示します。Claude Code v2.1.172 以降が必要なため、古いバージョンのセッションではヒントが表示されません。
CLAUDECODE でゲートを設定し、公式マーケットプレイスの example-cli という名前のプラグインのヒントを出力します。
example-cli を置き換えます。
出力場所を選択する
ヒントを出力するコードパスを制御します。Claude Code はプラグイン別に重複排除するため、すべての呼び出しで出力しても欠点はありません。うまく機能するタッチポイントは以下の通りです。ユーザーに表示される内容
ヒントがすべてのチェックに合格すると、Claude Code は以下のようなプロンプトを表示します。- プラグインごとに 1 回: プロンプトが表示された後、Claude Code はプラグインを記録し、ユーザーの回答に関係なく、二度とそのプラグインのプロンプトを表示しません。
- セッションごとに 1 回: マシン上のすべての CLI にわたって、Claude Code セッションごとに最大 1 つのヒントプロンプトが表示されます。
ヒント形式
ヒントは 3 つの必須属性を持つ自己終了型タグです。
属性値は二重引用符で引用するか、引用符なしで残すことができます。引用符なしの値は空白を含むことはできません。エスケープシーケンスはサポートされていません。
要件
Claude Code はヒントに対して行動する前に 2 つの条件を適用します。どちらかのチェックに失敗したヒントは削除されます。- 独立した行: タグは独立した行を占める必要があります。ログステートメント内など、行の途中に埋め込まれたタグは無視されます。行の先頭と末尾の空白は許可されます。
- 公式マーケットプレイス:
valueはclaude-plugins-officialなどの Anthropic 管理マーケットプレイスのプラグインを参照する必要があります。他のマーケットプレイスを指すヒントは静かに削除されます。
- stderr に書き込む: stderr は
example-cli deploy | jqなどのシェルパイプラインからタグを除外します。Claude Code は両方のストリームをスキャンするため、stdout も機能します。 - 環境変数でゲートを設定する:
CLAUDECODEまたはCLAUDE_CODE_CHILD_SESSIONが設定されている場合のみ出力します。ヒントを出力するを参照して、2 つの変数がどのように異なるかを確認してください。
公式マーケットプレイスにプラグインを取得する
ヒントプロトコルは、公式 Anthropic マーケットプレイスclaude-plugins-official にリストされているプラグインに対してのみ有効です。Anthropic はそのマーケットプレイスを裁量で管理し、アプリ内送信フォームはプラグインをコミュニティマーケットプレイスに追加します。これはヒントプロトコルがチェックしません。Anthropic パートナー連絡先と協力している場合は、公式マーケットプレイスのリストを調整するために彼らに連絡してください。
関連項目
- プラグインを作成する: CLI が推奨するプラグインを構築します
- プラグインマーケットプレイスを作成および配布する: 公式マーケットプレイスの外でプラグインをホストします
- 環境変数:
CLAUDECODEおよび関連変数の完全なリファレンス