Amazonで商品を見るセール会場へ

Claude CodeをGitHub Actionsで動かす|認証・課金・claude_argsの設定

Claude Codeは、GitHub Actionsから呼び出して、Issueやプルリクエストに応答させられます。

公式のGitHub Action(anthropics/claude-code-action)の設定を、公式ドキュメントから整理しました。

  • Claude Code内で /install-github-app を実行すると、導入を案内してくれる
  • 認証は、APIキーかOAuthトークンのどちらか
  • promptを書かないと対話モード、書くと自動化モードになる
  • CLIの引数は claude_args でまとめて渡す

GitHub Actionsでの動作の実機での再現は含まず、公式ページの記載(2026年9月30日に確認)に基づきます。

仕様や数値は変わることがあるので、最新は公式ページで確かめてください。

目次

導入の方法

いちばん簡単なのは、Claude Codeの中で /install-github-app を実行する方法です。

公式によると、github.comのリポジトリが対象で、ghコマンドとログイン、リポジトリの管理者権限が要ります。

手動で入れる場合は、次の3つを行います。

  1. Claude GitHub Appをリポジトリに入れる
  2. 認証用のシークレットを追加する
  3. 公式のexamples/claude.ymlを .github/workflows/ に置く

認証と課金

シークレット入力名課金の扱い
ANTHROPIC_API_KEYanthropic_api_keyAPIのトークン課金
CLAUDE_CODE_OAUTH_TOKENclaude_code_oauth_tokenClaudeのサブスクリプション枠を使う
出典:Claude Code公式ドキュメント(確認日 2026-09-30)

OAuthトークンは、Pro・Max・Team・Enterpriseで使え、claude setup-token で作ります。

公式は、組織で共有するシークレットにはAPIキーを勧めています。

OAuthトークンは、発行した本人のサブスクリプションに結びつくためです。

どちらの場合も、GitHub Actionsの実行時間の分は別に消費します。

サブスクリプションをCIで使ってよい範囲について、公式ページに制約の記載は見つかりませんでした。

利用条件は、契約している規約で確かめてください。

最小のワークフロー

@claude と書かれたコメントに応答する、公式の最小構成は次の形です。

name: Claude Code
on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
jobs:
  claude:
    if: contains(github.event.comment.body, '@claude')
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
      issues: write
      id-token: write
      actions: read
    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 1
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

id-token: write は、既定のGitHub App認証に必要です。

actions: read は、CIの結果を読むために要ります。

2つのモード

モード条件動き
対話モードpromptを書かない@claude と書かれたコメントに反応する
自動化モードpromptを書くイベントが起きたらすぐ実行し、結果は既定でワークフローのログに出る

反応の合図(trigger_phrase)の既定は @claude です。

実行する人には書き込み権限が必要です。

botからの実行は、allowed_botsに載せない限り拒否されます。

claude_args で引数を渡す

claude_args には、CLIの引数を文字列で書けます。

claude_args: "--max-turns 5 --model claude-sonnet-5 --mcp-config /path/to/config.json"
  • –max-turns:往復の回数に上限をつける
  • –model:使うモデルを決める
  • –allowedTools:使ってよいツールを決める
  • –mcp-config:MCPの設定ファイルを渡す

プレーンテキストのpromptでシェルやGitHub APIを使わせたいときは、–allowedTools で許可が要ります。

定期実行

公式には、cronで毎日動かす例があります。

on:
  schedule:
    - cron: "0 9 * * *"
  • 定期実行は、デフォルトブランチでだけ動く
  • 公開リポジトリは、60日間活動がないと無効になる

費用を抑える方法

公式が挙げているのは、次の方法です。

  • –max-turns で反復を制限する
  • ワークフローにタイムアウトを付ける
  • concurrencyで同時実行を制御する
  • CLAUDE.mdを簡潔に保つ

つまずきやすい点

Claudeが作ったコミットでCIが動かないときは、github_tokenに GITHUB_TOKEN を渡していないか確かめます。

渡していると後続のワークフローが発火しないので、外してGitHub Appの認証にします。

beta版から移るときは、@beta を @v1 にし、mode を消します。

direct_prompt は prompt に、max_turns などは claude_args にまとめます。

examples/claude.ymlの現行の全文は、今回確認できていません。

関連記事:Claude Codeのclaude -pの使い方

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

生成AIのおすすめ書籍

周辺機器の優先度

目次