@claude とメンションすると、Claude はコードを分析し、変更を実装し、コミットをプッシュします。また、Claude Code GitHub Action にプロンプトを与えて、任意の GitHub イベントで自動的に実行することもできます。イシューをプルリクエストに変換したり、コメントからバグを修正したり、繰り返されるタスクを自動化したりするために使用します。
複数の製品が Claude Code という名前を共有しています。このページは、リポジトリ内のワークフローファイルで設定する claude-code-action ワークフロー統合について説明しています。関連製品については、以下を参照してください。
- Code Review:ワークフローを記述せずに、すべてのプルリクエストで自動レビュー
- Claude Code in the cloud:クラウドインフラストラクチャで実行される Claude Code セッション(マシンではなく)
- Claude Agent SDK:GitHub Actions 外のカスタム自動化。Claude Code GitHub Action は SDK の上に構築されています
- GitHub Enterprise Server:自己ホスト型 GitHub での Claude Code
セットアップ
Claude Code GitHub Action は 2 つの方法のいずれかでセットアップできます。- クイックセットアップ:Claude Code から
/install-github-appを実行します。Claude Code は GitHub App をインストールし、認証シークレットを追加し、ワークフロープルリクエストを準備します - 手動セットアップ:アプリをインストールし、シークレットを追加し、ワークフローファイルをリポジトリにコピーします。Claude Code をローカルで実行しない場合、コマンドが失敗した場合、またはワークフローファイルを完全に制御したい場合は、このパスを使用します
クイックセットアップ
/install-github-app は github.com リポジトリでのみ機能します。リポジトリの git リモートが gitlab.com または bitbucket.org にある場合、コマンドは通知を出力して終了し、セットアップを開始しません。GitLab パイプラインから Claude Code を実行するには、Claude Code GitLab CI/CD を参照してください。
開始する前に、GitHub CLI をインストールし、gh auth login で認証します。Claude Code はそれをチェックし、不足している場合は警告します。
接続したいリポジトリで claude を開き、/install-github-app を実行して、プロンプトに従います。Claude Code は Claude GitHub App をインストールし、ワークフロー用の認証シークレットをセットアップします。
- Claude Code に既に API キーがある場合、そのキーを再利用し、リポジトリに既に設定されている既存の
ANTHROPIC_API_KEYシークレットを保持することを提案します - それ以外の場合は、Claude サブスクリプションで長期トークンを作成するか、API キーを貼り付けるかを選択します
ANTHROPIC_API_KEY、サブスクリプショントークンの場合は CLAUDE_CODE_OAUTH_TOKEN という名前です。
Claude Code はその後、選択したワークフローファイルを含むブランチをプッシュし、既にそのシークレットを使用するように設定され、ブラウザで GitHub を開いてプルリクエストを作成する準備ができています。そのプルリクエストを作成してマージすると、リポジトリで @claude が機能します。
レビューワークフローを選択した場合、Claude は各レビューをプルリクエスト自体に投稿します。見つかった各イシューのインラインコメントとして、または見つからない場合は 1 つの概要コメントとして投稿します。Claude は下書きなどの一部のプルリクエストをスキップします。レビューワークフロー例は同じスキルを使用し、それらをリストします。v2.1.229 より前では、Claude はレビューをワークフロー実行ログにのみ書き込みました。
以前のバージョンが生成したレビューワークフローを更新するには、以下のいずれかを実行します。
/install-github-appを再度実行します。リポジトリに既にclaude.ymlがある場合は、Update workflow file with latest version を選択します。Claude Code は新しいブランチにワークフローファイルの新しいコピーをプッシュし、最初のインストールと同じようにプルリクエストを開きます。- レビューワークフロー例から
--comment引数とclaude_args行をチェックインファイルに自分で追加します。これにより、他の編集は保持されます。
/install-github-app を再度実行してワークフローとシークレットのステップを完了します。
- GitHub App をインストールすると、複数の権限を付与します。完全なセットについては GitHub App 権限 を参照してください
- クイックセットアップは Claude API と Claude サブスクリプションで機能します。Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry を使用する場合は、クラウドプロバイダーで Claude Code GitHub Actions を使用する を参照してください
手動セットアップ
/install-github-app を実行せずに Claude Code GitHub Action を設定するには、アプリをインストールし、シークレットを追加し、ワークフローファイルを自分でコピーします。
1
Claude GitHub App をインストール
Claude GitHub App をリポジトリにインストールします。Claude Code GitHub Action はアプリの 3 つの権限に依存しています。
- Contents:読み取りと書き込み。Claude がリポジトリファイルを変更できるようにするため
- Issues:読み取りと書き込み。Claude がイシューに応答できるようにするため
- Pull requests:読み取りと書き込み。Claude が PR を作成し、変更をプッシュできるようにするため
2
認証シークレットを追加
認証方法に応じて、リポジトリに以下のシークレットのいずれかを追加します。GitHub の GitHub Actions でシークレットを使用する ガイドを参照してください。
ANTHROPIC_API_KEY:Claude Console からの Claude API キーCLAUDE_CODE_OAUTH_TOKEN:Claude サブスクリプションで認証する OAuth トークン。Pro、Max、Team、Enterprise プランで利用可能。claude setup-tokenをローカルで実行して生成します。長期トークンを生成する を参照してください
anthropic_api_key、OAuth トークンの場合は claude_code_oauth_token。3
ワークフローファイルをコピー
examples/claude.yml をリポジトリの
.github/workflows/ ディレクトリにコピーします。ファイルは単なる例ではなく、動作するワークフローです。コミットされたとおり、Claude はイシューまたはプルリクエストで誰かが @claude とメンションするたびに応答し、ANTHROPIC_API_KEY シークレットで認証します。代わりに CLAUDE_CODE_OAUTH_TOKEN を追加した場合は、ワークフローの anthropic_api_key 行を claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} に変更します。組織向けセットアップ
クイックセットアップまたは手動セットアップでは、一度に 1 つのリポジトリを設定します。Claude Code GitHub Action を組織全体にロールアウトするには、以下を実行します。- Claude GitHub App を組織レベルで 1 回インストールし、すべてのリポジトリまたは選択したリストを選択します
- 認証シークレットを組織レベルの Actions シークレットとして保存し、各リポジトリが独自のコピーを必要としないようにします
- Claude Code GitHub Action を実行する各リポジトリにワークフローファイルを追加するか、ジョブを 再利用可能なワークフロー として 1 回定義し、各リポジトリが呼び出すようにします
claude setup-token を実行した人のサブスクリプションに関連付けられているため、Claude Console から API キーで認証します。
長期シークレットを保存することを完全に回避するには、ワークロード ID フェデレーション経由で認証します。Claude Code GitHub Action はワークフローの GitHub OpenID Connect(OIDC)トークンを Claude Console サービスアカウント経由で Claude API アクセスと交換します。これらの入力を設定します。
anthropic_federation_rule_id:フェデレーションルール ID、fdrl_...anthropic_organization_id:Anthropic 組織 IDanthropic_service_account_id:サービスアカウント ID、svac_...。オプション。Console で作成するフェデレーションルールが既にサービスアカウントをターゲットしているためanthropic_workspace_id:ワークスペース ID、wrkspc_...。フェデレーションルールが単一のワークスペースをターゲットしている場合はオプション
id-token: write 権限を付与します。これは Claude Code GitHub Action が独自の github_token を渡す場合でもフェデレーション交換に必要です。Console 側の設定については、Claude Code GitHub Action のセットアップガイド を参照してください。
セキュリティレビューでのデータ処理と保持に関する質問については、データ使用 と セキュリティ を参照してください。
アンインストール
Claude Code GitHub Action を削除するには、インストールに適用される各セットアップを元に戻します。- ワークフローファイル:
.github/workflows/からanthropics/claude-code-actionを使用するワークフローを削除します。クイックセットアップを使用した場合は、claude.ymlを探し、レビューワークフローを選択した場合はclaude-code-review.ymlを探します。ワークフローが削除されると、Claude Code GitHub Action は実行されなくなります - シークレット:リポジトリから
ANTHROPIC_API_KEYまたはCLAUDE_CODE_OAUTH_TOKENシークレットを削除し、リポジトリ間で共有 した場合は組織レベルの Actions シークレットから削除します。シークレットを削除しても、それが保持していた認証情報は有効なままです。API キーを完全に廃止するには、Claude Console でキーも削除します - GitHub App:リポジトリまたは組織設定の GitHub Apps で Claude GitHub App をアンインストールします。ただし、Code Review や web auto-fix などの別の Claude 機能に使用しない場合のみです
AWS_ROLE_TO_ASSUME、GCP_* シークレット、または AZURE_* シークレットなどのプロバイダーシークレットも削除し、APP_ID と APP_PRIVATE_KEY シークレットとともにカスタム GitHub App をアンインストールします。
GitHub App 権限
Claude GitHub App は、Claude Code GitHub Action、Code Review、cloud sessions の Claude Code on the web の プルリクエストの auto-fix など、GitHub と統合するすべての Claude 機能で共有されます。GitHub App は、すべての機能をカバーする単一の権限セットを持つため、セットには Claude Code GitHub Action が使用しない権限が含まれます。 アプリをインストールすると、以下の権限を付与します。
権限セットは、それを使用する機能より前に変更される可能性があります。アプリが以前に持っていなかった権限をリクエストすると、GitHub はアカウント所有者に承認を促します。組織インストールの場合は組織所有者に促します。インストールは、承認されるまで古い権限を保持します。たとえば、Actions アクセスが読み取りから書き込みに変更されると、アプリはワークフローを再実行できるようになり、実行とログのみを表示できるようになるため、GitHub は所有者に変更を承認するよう求めます。
アプリをインストールすると、その完全な権限セットを受け入れます。GitHub では、サブセットを受け入れることはできません。組織が Claude Code GitHub Action が使用する権限のみを必要とする場合は、Claude Code GitHub Action のセットアップガイド に従って、Contents、Issues、Pull requests を持つカスタム GitHub App を作成します。カスタムアプリは Claude Code GitHub Action のみをカバーします。Code Review と web auto-fix には公式アプリが必要です。
Claude Code GitHub Action がこれらの権限で何ができるかを制限する方法の詳細については、セキュリティドキュメント を参照してください。
インタラクティブモードと自動化モード
Claude Code GitHub Action はワークフロー設定から実行方法を検出します。- インタラクティブモード:ワークフローが
prompt入力を提供しない場合、Claude はトリガーフレーズ(デフォルトは@claude)をイシューまたはプルリクエストコメント、プルリクエストレビュー、または新しく開かれたイシューの本文またはタイトルで待機し、そのリクエストに応答します。進捗と結果は、トリガーするイシューまたは PR のコメントとして表示されます。 - 自動化モード:ワークフローが
prompt入力を提供する場合、Claude は 実行をトリガーできるユーザーのチェック のみに従って、待機せずに実行します。デフォルトでは、結果はコメントではなくワークフロー実行ログに表示されます。Claude は、プロンプトが指示し、コード レビュー例 のようにツールがある場合、イシューまたはプルリクエストに投稿できます。
実行をトリガーできるユーザー
両方のモードで、Claude Code GitHub Action はトリガーするアクターに対して 2 つのチェックを実行してから Claude を開始します。どちらかのチェックが拒否すると、実行は失敗します。- 書き込みアクセス:イシューおよびプルリクエストイベントで、トリガーするユーザーはリポジトリへの書き込みアクセスを持つ必要があります。書き込みアクセスのない特定のユーザーを許可するには、
allowed_non_write_usersを設定し、独自のgithub_token入力を渡します。scheduleトリガーなど、ユーザーが作成しないイベントはこのチェックをスキップします。 - 人間のアクター:すべてのイベントで、Claude Code GitHub Action は
allowed_botsにリストされていない限り、ボットアクターを拒否します。これにより、ボットが Claude をループでトリガーするのを防ぎます。このチェックはスケジュール実行にも適用されます。GitHub はこれらを、通常はワークフローのcronスケジュールを最後に変更したリポジトリユーザーに属性付けします。そのユーザーがボットの場合は、allowed_botsにリストします。
使用例
examples ディレクトリ には、さまざまなシナリオ用の使用可能なワークフローが含まれています。 このページの例は API キー認証を示しています。Claude サブスクリプションで認証する場合は、任意の例のanthropic_api_key 行を claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} に置き換えます。
@claude メンションに応答
このワークフローは Claude Code GitHub Action をインタラクティブモードで実行するため、イシューまたは PR コメントで誰かが@claude とメンションするたびに Claude が応答します。
id-token: write:Claude Code GitHub Action のデフォルト GitHub App 認証に必要actions: read:Claude が PR の CI 結果を読み取ることができるようにしますactions/checkout:Claude がリポジトリのローカルコピーで作業できるようにしますif:@claudeとメンションしないコメントでランナーが開始されるのを防ぎます。Claude Code GitHub Action はトリガーフレーズ自体をチェックしてから応答します
@claude とメンションします。
スキルを実行
prompt 入力は、プレーンテキストだけでなく スキル 呼び出しも受け入れます。
- リポジトリの
.claude/skills/ディレクトリ内のスキルの場合、anthropics/claude-code-actionステップの前にactions/checkoutを実行してスキルファイルをランナーで利用可能にし、/skill-nameをpromptとして渡します。 - plugin にパッケージされたスキルの場合、
plugin_marketplacesとplugins入力でプラグインをインストールし、名前空間付きの/plugin-name:skill-nameをpromptとして渡します。plugins入力はplugin-name@marketplace-nameを取ります。マーケットプレイス名はマーケットプレイスのリポジトリ URL ではなく、マーケットプレイス自体のマニフェストから取得されます。
code-review プラグインをインストールし、プルリクエストが開かれた、更新された、レビュー準備完了、または再度開かれたときにそのスキルを実行します。クイックセットアップからのレビューワークフローと同じプラグインを実行します。プロンプト、モデル、トリガーを自分で制御したい場合は、このようなワークフローを使用します。ワークフローファイルを維持せずに自動レビューするには、Code Review を参照してください。パブリックリポジトリでは、GitHub はフォークプルリクエストでトリガーされた実行からシークレットを保留するため、レビューは同じリポジトリ内のブランチからのプルリクエストでのみ実行されます。
--comment:Claude はプルリクエストにレビューを投稿します。見つかった各イシューのインラインコメントとして、または見つからない場合は 1 つの概要コメントとして投稿します。これがないと、Claude は何も投稿せず、ワークフロー実行ログで結果を読みます。claude_args:スキル自体のallowed-toolsfrontmatter が同じツールを名前付けしていても、この行を保持します。Claude Code GitHub Action はインラインコメントを投稿する MCP サーバーを開始するのは、claude_argsの--allowedToolsがそれを名前付けしている場合のみです。
スケジュールで実行
prompt 入力を使用すると、Claude Code GitHub Action は cron スケジュールを含む任意の GitHub イベントで自動化モードで実行されます。プレーンテキストプロンプトの場合、Claude は claude_args の --allowedTools または settings 入力の permissions.allow ルール でプロンプトが必要とするツールを付与するまで、シェルまたは GitHub API アクセスを持ちません。代わりにスキルを呼び出す場合、Claude は allowed-tools frontmatter が付与するツールを使用できます。GitHub はスケジュール済みワークフローをデフォルトブランチからのみ実行し、パブリックリポジトリではリポジトリアクティビティがない 60 日後にスケジュールを無効にします。
このワークフローは毎日 09:00 UTC にワークフロー実行ログでレポートを生成します。その claude_args 行は CLI 引数を渡す ことで、モデルを選択し、2 つの GitHub MCP ツールを許可します。Claude はこれらのツールで GitHub API を通じてコミットとイシューを読み取るため、チェックアウトステップを省略できます。
ベストプラクティス
CLAUDE.md でプロジェクト標準を定義
リポジトリルートにCLAUDE.md ファイルを作成して、コードスタイルガイドライン、レビュー基準、プロジェクト固有のルール、および推奨パターンを定義します。Claude は PR を作成し、リクエストに応答するときにこれらのガイドラインに従います。詳細については、メモリドキュメント を参照してください。
認証情報を保護
ワークフローに必要な権限のみを付与し、マージする前に Claude の変更を確認します。 権限と認証を含む包括的なセキュリティガイダンスについては、Claude Code Action セキュリティドキュメント を参照してください。コストを管理
各実行は 2 種類のリソースを消費します。- GitHub Actions 分:Claude Code GitHub Action は GitHub ホストランナーで実行され、GitHub Actions 分を消費します。価格と分の制限については、GitHub の請求ドキュメント を参照してください。
- API トークン:各インタラクションはプロンプトと応答の長さ、タスクの複雑さ、コードベースのサイズに基づいてトークンを消費します。現在のトークンレートについては、Claude の価格ページ を参照してください。OAuth トークンで認証する場合、実行は API 請求ではなく Claude サブスクリプションを使用します。
- 特定の
@claudeリクエストを記述して、Claude が完了するのに必要なターン数を減らします - イシューテンプレートを使用して事前にコンテキストを提供します
CLAUDE.mdを簡潔に保ちます。Claude は実行ごとにそれを読み取るためclaude_argsで--max-turnsを設定して反復を制限します- ワークフローレベルのタイムアウトを設定して暴走ジョブを回避します
- GitHub の並行制御を使用して並列実行を制限します
クラウドプロバイダーを使用
デフォルトでは、Claude Code GitHub Action は API キーまたは OAuth トークンで Claude API を直接呼び出します。代わりに独自のクラウドアカウント経由で推論をルーティングするには、プロバイダーの入力を設定し、クラウドプロバイダーで Claude Code GitHub Actions を使用する に従います。- Amazon Bedrock:
use_bedrock: "true" - Google Cloud の Agent Platform:
use_vertex: "true" - Microsoft Foundry:
use_foundry: "true"
トラブルシューティング
Claude が @claude コマンドに応答しない
- GitHub App がリポジトリにインストールされていることを確認します
- リポジトリでワークフローが有効になっていることを確認します
- API キーまたは OAuth トークンがリポジトリシークレットに設定されていることを確認します
- コメントに
@claudeが完全な単語として含まれていることを確認します。/claudeまたは@claude-botではなく - コメントするユーザーがリポジトリへの書き込みアクセスを持つことを確認します。実行をトリガーできるユーザー の例外を参照してください
CI が Claude のコミットで実行されない
- GitHub はデフォルトの
GITHUB_TOKENで作成されたコミットでワークフローをトリガーしません。Claude Code GitHub Action にgithub_token: ${{ secrets.GITHUB_TOKEN }}を渡す場合は、Claude GitHub App として認証するようにそれを削除するか、代わりにカスタムアプリトークンを渡します - CI ワークフローのトリガーに Claude のプッシュが生成するイベント(
pushまたはpull_requestなど)が含まれていることを確認します
認証エラー
- API キーまたは OAuth トークンが有効であることを確認します。ワークフローをデバッグする前に
claudeでローカルでテストします - Bedrock、Agent Platform、Foundry の場合は、クラウドプロバイダーページの トラブルシューティングセクション を参照してください
高度な設定
アクション パラメータ
これらは最も一般的に使用される入力です。各パラメータはanthropics/claude-code-action ステップの with: キーにマップされます。
完全な入力リストについては、Claude Code GitHub Action の設定リファレンスを参照してください。
CLI 引数を渡す
claude_args パラメータは、任意の Claude Code CLI 引数を受け入れます。
--max-turns: 会話ターン数を制限します--model: 使用するモデル。例えばclaude-sonnet-5。この引数がない場合、Claude Code GitHub Action は Claude Code のデフォルト モデルを使用します--mcp-config: MCP 設定へのパス--allowedTools: 許可されたツールのカンマ区切りリスト。--allowed-toolsエイリアスも機能します--debug: デバッグ出力を有効にします
ベータ版からアップグレード
ワークフローがまだanthropics/claude-code-action@beta を参照している場合は、v1 に更新します。
uses行の@betaを@v1に変更しますmode入力を削除します。Claude Code GitHub Action は モードを自動的に検出 するようになったためdirect_promptをpromptに置き換えますmax_turnsやmodelなどの CLI オプションをclaude_argsに移動します。custom_instructionsは同じ名前のフラグを持たず、--append-system-promptになります
次のステップ
- クラウドプロバイダーで Claude Code GitHub Actions を使用する:Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry 経由で推論をルーティング
- 設定リファレンス:アクション入力の完全なリスト
- Examples ディレクトリ:より多くのシナリオ用の使用可能なワークフロー
- Code Review:ワークフローファイルを維持せずに自動プルリクエストレビュー