コンテンツにスキップ
Dev Classmethod Jp Codex CLI Plus Pro Auth JSON Ci

【個人プラン】Plus / Pro で Codex を CI で動かす

  • URL: https://dev.classmethod.jp/articles/codex-cli-plus-pro-auth-json-ci/
  • 日付: 2026-06-03
  • Tier: Tier 3
  • 要旨: ChatGPT Plus/Pro 個人ユーザーが codex login で生成した auth.json を GitHub Secrets に持ち込み、GitHub-hosted runner(ubuntu-latest)で Codex CLI を CI 実行する方法を実機検証。refresh token rotation の仕組みと「書き戻し(round-trip)」パターンで ephemeral runner 対応を達成。

詳細

  • 認証方式 3 種:
    • A: OpenAI API キー(別途従量課金)
    • B: Codex access tokens(Business/Enterprise ワークスペース専用)
    • C: auth.json 持ち込み方式(今回の検証対象) — Plus/Pro 個人ユーザー唯一の CI 利用ルート
  • auth.json の仕組み:
    • access token(数十分〜1 時間)+ refresh token(数十日〜数ヶ月)を格納
    • codex exec 実行ごとに refresh token rotation → 古い token は即座に無効化
    • 古い refresh token の再利用で refresh_token_reused エラーが発生
  • round-trip パターン(ephemeral runner 対応):
    • 実行後の最新 auth.json を GitHub Secrets に書き戻すことで次回実行に備える
    • GitHub-hosted runner(ジョブごと破棄)でも連続実行が可能
  • 詰まったポイント: codex login が書いた auth.json のパスと GitHub Secret に push したパスのミスマッチが原因で 4 回連続 refresh_token_reused エラー
  • 検証フロー: Step A(手動起動)→ Step B(push 自動起動)→ Step C(round-trip 完成版)の 3 段階
  • 注意: auth.json はパスワード相当。リポジトリコミット・public リポジトリでの利用は厳禁