GitHub Actions で Claude Code を動かす:claude-code-action の導入と使い方

Claude Code 公開:

公式の claude-code-action を使って、GitHub の Issue や PR で @claude にメンションするだけでコード修正やレビューを行う仕組みを作る手順を解説します。API キーの設定、ワークフローの書き方、権限の絞り方、自動レビューの構成を紹介します。

検証日 2026年9月7日 仕様変更が早い分野です。最新の公式ドキュメントも併せてご確認ください。
目次
  1. セットアップの流れ
  2. 構成 1:@claude メンションに応答する
  3. 構成 2:PR 作成時に自動レビューする
  4. 権限とコストを絞る
  5. CLAUDE.md との関係
  6. まとめ

Issue に「@claude この不具合を直して」とコメントすると、Claude Code が修正を実装して PR を作る。PR が開かれると自動でレビューコメントが付く。こうした仕組みは、公式の claude-code-action を使うと 1 つのワークフローファイルで実現できます。

この記事では、セットアップから、メンション応答と自動レビューの 2 つの構成、権限とコストを絞る方法までを扱います。

KEY POINT

この記事で分かること

  • /install-github-app によるセットアップと API キーの登録
  • @claude メンションに応答するワークフロー
  • PR 作成時に自動レビューするワークフローと、権限・コストの制御

セットアップの流れ

  1. ローカルの Claude Code で /install-github-app を実行します。ブラウザが開き、GitHub App のインストールとリポジトリの選択、ワークフローファイルの追加が案内されます。
  2. リポジトリの Settings → Secrets and variables → Actions で、ANTHROPIC_API_KEY に Anthropic Console の API キーを登録します。
  3. 追加されたワークフローファイル(.github/workflows/claude.yml など)を確認し、コミットします。

手動で構成する場合は、GitHub App のインストールと Secrets の登録を自分で行い、次のワークフローを追加します。

用語解説

GitHub App と GITHUB_TOKEN: claude-code-action は、Claude のコメントや PR 作成に GitHub App の認証を使います。App を入れずに GITHUB_TOKEN だけで動かすこともできますが、その場合 Claude のコミットが別のワークフローをトリガーしないなどの制約があります。

構成 1:@claude メンションに応答する

name: Claude Code
on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
  issues:
    types: [opened, assigned]

jobs:
  claude:
    if: |
      contains(github.event.comment.body, '@claude') ||
      contains(github.event.issue.body, '@claude')
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
      issues: write
      id-token: write
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 1
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

Issue や PR のコメントに @claude を含めると、その文脈(Issue 本文、PR 差分、コメントのスレッド)を読んで応答します。修正を伴う場合はブランチを切ってコミットし、PR を作成します。

指示の例:

  • Issue で「@claude 再現手順を確認して修正案を PR にして」
  • PR のレビューコメントで「@claude この関数のエラーハンドリングを追加して」
  • PR で「@claude この変更で影響を受けるテストを追加して」

構成 2:PR 作成時に自動レビューする

メンションなしで、PR が開かれたときに自動でレビューします。prompt で指示を固定します。

name: Claude review
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
      id-token: write
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 1
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          prompt: |
            この PR の差分をレビューしてください。観点は次の 4 つです。
            1. バグの可能性 2. セキュリティ 3. テストの有無 4. CLAUDE.md の規約違反
            指摘は重大度順に、ファイル名と行番号を添えてコメントしてください。
            問題がなければ「問題なし」とだけコメントしてください。
          claude_args: "--max-turns 5 --model claude-sonnet-5"

claude_args には CLI と同じオプションを渡せます。レビューは読み取り中心なので、--max-turns を小さくし、モデルを Sonnet 系にすると費用を抑えられます。

権限とコストを絞る

目的方法
外部ユーザーのコメントで実行させないif:github.event.comment.author_associationOWNER / MEMBER / COLLABORATOR の条件を追加する
書き込みを最小限にするレビュー用ワークフローは contents: read にする
使えるツールを限定するclaude_args--allowedTools を渡す
実行回数の上限--max-turns を渡す
リポジトリのルールを守らせるリポジトリの CLAUDE.md は Action でも読み込まれるので、ここに書く
    if: |
      contains(github.event.comment.body, '@claude') &&
      contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.comment.author_association)

Secrets とフォークからの PR

フォークからの PR では、既定で Secrets が渡されません。そのため外部からの PR には自動レビューが走りません。意図的に有効にする場合は、pull_request_target の危険性(フォークのコードが Secrets 付きで実行される)を理解したうえで構成してください。

CLAUDE.md との関係

Action 内の Claude も、リポジトリの CLAUDE.md.claude/settings.json を読み込みます。ローカルで使っている規約がそのまま CI でも効くので、レビュー基準や禁止事項はワークフローの prompt ではなく CLAUDE.md に書いておくと、二重管理になりません(CLAUDE.md の書き方)。

公式 Action を使わず、claude -p を直接呼び出す軽量な構成は 非対話モードの使い方 で解説しています。Codex を同じ用途で使う場合の比較は Codex クラウド版で GitHub のタスクを任せる を参照してください。

まとめ

  • /install-github-app で GitHub App とワークフローを導入し、ANTHROPIC_API_KEY を Secrets に登録する
  • @claude メンション応答と、PR 自動レビューの 2 構成が基本
  • if: でコメント投稿者を制限し、--max-turns と Sonnet 系モデルで費用を抑える
  • レビュー基準や禁止事項はワークフローではなく CLAUDE.md に書く

よくある質問

claude-code-action は無料で使えますか?
Action 自体は無料ですが、Anthropic API の利用料(従量課金)と GitHub Actions の実行時間が発生します。パブリックリポジトリなら Actions の実行時間は無料です。
@claude と書けば誰でも実行できてしまいますか?
既定ではリポジトリへの書き込み権限を持つユーザーのコメントに反応します。外部からのコメントで実行されないよう、ワークフローの条件で制限してください。
Claude が作った変更はどこに反映されますか?
新しいブランチにコミットされ、PR が作成されます(または既存の PR ブランチにコミットされます)。直接 main には書き込みません。

参考にした一次情報

この記事は公式ドキュメントを基に AI が下書きを作成し、運営者が内容を確認して公開しています。誤りを見つけた場合はお問い合わせからお知らせください。