Skip to content

サブプロセスに AI_AGENT 環境変数を設定 — gh でトラフィックを Claude Code に帰属

原文(日本語に翻訳)

サブプロセスのために AI_AGENT 環境変数を設定することで、gh が Claude Code にトラフィックを帰属できるようになりました。

原文(英語)

Set AI_AGENT environment variable for subprocesses so gh can attribute traffic to Claude Code

概要

Claude Code v2.1.120 では、Claude Code が起動するサブプロセスに AI_AGENT 環境変数が自動的に設定されるようになりました。これにより、GitHub CLI(gh)などのツールが、リクエストが Claude Code から発生したものであることを識別できるようになります。GitHub 側でのトラフィック分析や利用状況の追跡に役立ち、GitHub が AI エージェントからのアクセスを適切に管理するための仕組みです。

基本的な使い方

AI_AGENT 環境変数は Claude Code が自動的に設定するため、ユーザーが特別な操作をする必要はありません。

bash
# Claude Code が gh コマンドを実行する際
# 内部的に AI_AGENT=claude-code が設定される

claude "このリポジトリの最新の PR リストを取得してください"
# → Claude Code が gh pr list を実行
# → gh は AI_AGENT 環境変数を確認して Claude Code からのリクエストと識別

実践例

GitHub CLI との連携確認

bash
# Claude Code セッション内で gh コマンドを使用する際
# 自動的に AI_AGENT 環境変数が引き継がれる

claude "以下の操作をしてください:
1. 未解決の Issue を一覧表示
2. PR のレビューコメントを確認
3. ワークフローの実行状態を表示"

# → 各 gh コマンドに AI_AGENT=claude-code が設定される

手動での確認(開発・デバッグ用)

bash
# サブプロセスで AI_AGENT が設定されているか確認
claude "printenv AI_AGENT を実行してください"
# → claude-code と表示される

# または
claude "env | grep AI_AGENT を実行してください"

カスタムスクリプトでの活用

bash
#!/bin/bash
# AI_AGENT が設定されている場合(Claude Code から呼ばれた場合)の動作を変える

if [ -n "$AI_AGENT" ]; then
  echo "Running from AI agent: $AI_AGENT"
  # AI エージェント向けの非インタラクティブな動作
  exec "$@" --no-interactive
else
  # 通常の対話的な動作
  exec "$@"
fi

注意点

  • AI_AGENT は Claude Code が起動するすべてのサブプロセスに自動で設定されます
  • 値は claude-code になります
  • この環境変数は GitHub CLI(gh)が Claude Code からのトラフィックを識別するために利用されます
  • カスタムスクリプトでも AI_AGENT 環境変数の有無を確認することで、Claude Code から呼ばれたかどうかを判定できます
  • GitHub がこの情報をどのように活用するかは GitHub 側のポリシーに依存します

関連情報