「OAuth not supported」401エラーの原因と対処 — Claude Code
「OAuth authentication is currently not supported」401は、名前に反してOAuth設定の不備ではないことが多いエラーです。過去2回の発生経緯と現在の確認手順をまとめます。
「OAuth authentication is currently not supported」とは何か
Claude Code実行中に、次の401エラーが表示されることがあります。
API Error: 401 {"type":"error","error":{"type":"authentication_error","message":"OAuth authentication is currently not supported."}}メッセージだけを読むと「OAuth認証そのものが対応していない」ように見えますが、実際はそうではありません。Claude CodeのOAuth認証(claude.aiログインやClaude Max / Team / Enterpriseのサブスクリプション認証)は現在も通常どおり提供されています。このメッセージは、APIサーバーが特定のリクエストを拒否したときに返す汎用的な401応答です。原因はOAuthトークンそのものではなく、Claude Code側が送るリクエストの内容にあることが多いエラーです。
/loginと/logoutを繰り返しても直らない、同じ資格情報が他の環境では通る、といった報告が繰り返し出ているのはこのためです。原因の切り分けには、まずClaude Codeのバージョンと環境変数を確認する必要があります。
この401エラーは2回、集中発生している
GitHubのissueを時系列で追うと、このエラーは単発の障害ではなく、特定バージョンへの回帰(リグレッション)として2回、短期間に集中して報告されています。
| 発生時期 | 対象バージョン | 原因 | 修正バージョン |
|---|---|---|---|
| 2025年8月 | 対象バージョンv1.0.82 〜 v1.0.83 | 原因クライアント側の回帰(詳細は非公開) | 修正バージョンv1.0.88 |
| 2026年4月 | 対象バージョンv2.1.121 | 原因CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1設定時のベータヘッダー欠落 | 修正バージョンv2.1.123 |
どちらの回も、報告から修正リリースまでは1〜9日程度と短く、いずれもAnthropic側の回帰であってユーザーの認証設定の誤りではありませんでした。今このエラーに遭遇した場合、まず自分のバージョンがどちらの窓に該当するか、あるいはすでに修正済みのバージョンなのかを確認するのが最初のステップです。
2025年8月: v1.0.82〜v1.0.83の回帰
最初の集中報告はissue #5893で、2025年8月16日に始まりました。実行中に突然401が出て、/logout後の再ログインでも解消しないという報告が同日中に20件以上集まっています。
コメント欄では「v1.0.82とv1.0.83で発生し、v1.0.81には無い」という切り分けがユーザー側のビセクションで確認されました。当座の回避策として、v1.0.73などの旧バージョンへのダウングレードやnpm install -g @anthropic-ai/claude-codeでの再インストールが報告されています。Anthropic側は2025年8月19日、関連issueで「解決したはずです」とコメントしました。公式changelogのv1.0.88には次の1行が記録されています。
Fixed issue causing "OAuth authentication is currently not supported"
このため、v1.0.88以降のバージョンではこの回の原因は解消済みです。
2026年4月: CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1の回帰
2回目の集中報告は2026年4月28日、issue #54235から始まりました。今回はv2.1.121で、特定の環境変数を設定しているユーザーに限って発生しています。
報告したユーザーは、同じOAuthトークンでcurlを直接叩くと正常な応答が返ることを確認しており、OAuthトークン自体には問題がないと切り分けています。issue内の仮説はこうです。CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1はanthropic-betaヘッダーを取り除きますが、Opus 4.7のxhighエフォートや1Mコンテキストなど一部の機能は、リクエスト本文にベータ専用フィールドを残したままになります。このミスマッチをサーバー側が拒否した結果が、「OAuth認証エラー」として表面化したとされています。
このエラーはUIにはRetrying in Ns · attempt N/10としか表示されず、実際の401応答は--debug-fileオプションを付けて起動しないと見えません。
claude --debug-file /tmp/claude-debug.log報告から約1日後の2026年4月29日、Anthropicの担当者が「v2.1.123で修正されるはずです」とコメントし、実際にv2.1.123のchangelogには次の記載があります。
Fixed OAuth authentication failing with a 401 retry loop when
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1is set
この修正の詳細な経緯はClaude Code v2.1.123のリリースノートにまとめています。v2.1.123以降のバージョンでは、CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1を設定していてもこの401は発生しません。
今このエラーが出たら何を確認するか
まずバージョンを確認します。
claude --versionv2.1.123より前のバージョンで、かつCLAUDE_CODE_DISABLE_EXPERIMENTAL_BETASを設定している場合は、上記の回帰に該当している可能性が高い状態です。以下を順に確認します。
- 環境変数を確認する。設定した記憶がなくても、シェル起動ファイルや
managed-settings.json経由で組織配布されていることがあります。
echo "$CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS"claude updateで最新版に上げる。v2.1.123以降であれば、この環境変数を設定したままでも401は発生しません。
claude update-
どうしても更新できない場合のみ、環境変数を一時的に外す。修正版へすぐ上げられない事情がある場合、
unset CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETASで一時的に外すと回避できます。ただしこの変数を設定している環境は、ベータ機能を意図的に無効化したい制約があるケースが多いため、外す判断はその制約を踏まえて行う必要があります。 -
上記に該当しない場合は
/logoutと/loginを試す。バージョンが十分新しく、該当する環境変数も設定していないのに401が出る場合は、この2件の回帰とは別の原因です。資格情報の破損やトークンの失効が疑われるため、Claude Code「Not logged in」エラーの原因と対処法で扱う一般的な再認証手順に沿って切り分けます。
似た名前のOAuthエラーとの違い
Claude Codeには「OAuth」を含むエラーメッセージが複数あり、文面が似ているため混同しやすい部分です。
| メッセージ | 意味 | 対処の起点 |
|---|---|---|
OAuth authentication is currently not supported | 意味本記事のエラー。多くはClaude Code側のリクエスト内容とサーバー側の不整合 | 対処の起点バージョン確認とアップデート |
OAuth token revoked / OAuth token has expired | 意味保存済みトークンをAPIが拒否した状態(失効・取り消し) | 対処の起点/loginの再実行 |
OAuth token does not meet scope requirement | 意味トークンは有効だが必要な権限範囲を持っていない | 対処の起点/login一度で解消 |
OAuth token revoked系の詳しい切り分けは「OAuth token revoked」の対処、scope requirement系は「OAuth scope requirement」エラーの意味と対処にまとめています。本記事のエラーはメッセージの文面が似ているため、この2つと取り違えて/loginだけを繰り返し、解決しないまま時間を使ってしまうケースが見られます。
それでも直らないとき
上記のバージョン確認・環境変数確認・再ログインをすべて試しても解消しない場合、次の2点を追加で確認します。
ANTHROPIC_API_KEY環境変数が設定されていないか。この変数が設定されていると、サブスクリプションのOAuth認証より優先されます。意図せず古いAPIキーが残っていると、OAuth関連のエラーではなく別の認証エラーに置き換わって表面化することがあります。組織のAPIキー認証が無効化されているケースの切り分けはClaude Codeで組織がAPIキー認証を無効化したときの対処で扱っています。
プロキシ経由でAPIにアクセスしていないか。企業プロキシやゲートウェイ経由の場合、anthropic-betaヘッダーがプロキシ側で削られることがあり、これも今回と同種のヘッダー欠落として401につながる可能性があります。プロキシ配下で発生している場合は、プロキシのログでヘッダーが正しく転送されているかを確認します。
いずれにも該当せず、v2.1.123以降の最新版でも再現する場合は、GitHubのissueでclaude --versionの出力とデバッグログを添えて報告する対象になります。過去2回の回帰はどちらも報告から数日で修正版が出ているため、新しい回帰であれば同様に短期間で追跡される可能性があります。
まとめ
「OAuth authentication is currently not supported」401は、メッセージの文面とは裏腹に、OAuth設定そのものの不備を示すエラーではありません。2025年8月(v1.0.82〜83)と2026年4月(v2.1.121)の2回、いずれもClaude Code側の回帰として発生し、それぞれ数日でv1.0.88とv2.1.123で修正されています。
現在このエラーに遭遇したら、まずclaude --versionでバージョンを確認し、v2.1.123より前であればclaude updateで更新します。CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1を設定している環境ではこの点が特に当てはまります。最新版でも解消しない場合は、OAuth token revokedやscope requirementといった別系統のOAuthエラーと取り違えていないかを確認したうえで、ANTHROPIC_API_KEYの残留やプロキシのヘッダー欠落を疑う順番になります。