PaPoo
cover

Error: CreateSession 400: {"error":{"message":"GitHub repository access check failed — re-authorize GitHub in settings" で止まる /ultrareview の見分け方と、手元で確認できたこと

この症状は、/ultrareview 実行時に CreateSession 400 で落ち、本文に github_repo_access_deniedre-authorize GitHub in settings が入っているものです。報告としては #56000#65708 が同じ文字列を含んでいました。

まず切り分けたいのは、gh auth status が通るかどうかではありません。issue 側では、gh auth が有効でも、Claude 側の GitHub 認証チェックで失敗しています。#56000 の報告には、gh auth status はログイン済み、トークンの scope もあり、git clone も成功し、Claude の GitHub Integration も Connected だったのに、/ultrareview だけが失敗したとあります。つまり、手元の GitHub CLI が生きていることと、このエラーが出ないことは別でした。

issue のコメントでは、原因候補として Claude GitHub App の OAuth 認可が不完全、または古いトークンになっている可能性が挙げられていました。そこでは GitHub 側の Settings → Applications → Authorized OAuth Apps にある "Claude" をいったん revoke して、再認可する手順が説明されています。ただし、これはコメントで示された解決策であって、私が実機で再現確認した内容ではありません。実際に確認できたのは、別の表面、つまり gh auth や GitHub Integration の表示だけではこの失敗を説明しきれない、という点までです。#56000

#65708 でも、バックグラウンドのレビュー処理自体は動き始めたのに、最後に同じ CreateSession 400 で止まっています。こちらは別件のクラッシュ報告ですが、出ているエラー文字列は同じです。したがって、少なくともこの症状では「レビュー対象の PR やリポジトリが悪い」というより、セッション作成時の GitHub repository access check で止められている、と読むのが自然です。#65708

手元で実際に確認できた設定関連の情報は、少し拍子抜けする内容でした。settings.json は見つかっていません。

[settings_structure]
~/.claude/settings.json: (存在しない)
/mnt/vda5/git/papoo/newsbot_openai/.claude/settings.json: (存在しない)
/mnt/vda5/git/papoo/newsbot_openai/.claude/settings.local.json: (存在しない)

この結果だけから言えるのは、少なくとも今回の検証環境では、参照できた settings.json が存在しなかったということです。どの設定キーが効いているかまでは分かりません。

検証環境の情報は次のとおりでした。

[env_summary]
OS          : Linux 3.10.0-1160.76.1.el7.x86_64 (x86_64)
Python      : 3.8.13
検証日時    : 2026-09-12T08:51:04+09:00

もし自分の環境で同じ文字列が出ているなら、最初に見るべきなのは gh auth status の成否よりも、Claude 側に紐づく GitHub 認可が古くなっていないかどうかです。issue の解決コメントでは、Claude GitHub App をいったん外して再認可する流れが効いたとされていますが、これはあくまで issue 上の報告です。手元で再現済みとまでは書けません。


検証環境

OS          : Linux 3.10.0-1160.76.1.el7.x86_64 (x86_64)
Python      : 3.8.13
検証日時    : 2026-09-12T08:51:04+09:00

参照した Issue(anthropics/claude-code): #56000, #65708

同じ著者の記事