環境&ログイン
緊急トラブル救急マニュアル
「有料プランに加入しているのに、なぜかAPI課金される」「別のPCに移行したら動かなくなった」「他人が使っていたPCでログインしたら設定がめちゃくちゃになった」——これらは原因不明の怪奇現象ではなく、すべて5つのレイヤーのどこかに特定できます。本マニュアルでは、体系的な診断手法、2大ツールの症状別応急処置表、3大シナリオ別の処方箋、そして段階的な万能リセット手順を提供します。
症状別早見表 + トラブルマップ
env | cut -d= -f1 | grep -iE 'anthropic|openai' でハイジャックしている環境変数を特定し、個別に unset する;② クリーンに再ログイン:
/logout の後に改めて /login(Codex の場合:codex logout && codex login);③ 認証情報の確認:
/status / codex login status で、想定通りのアカウントおよびログイン方式になっているか確認する。これで直らない場合は、以下の早見表へ進む。症状別早見表:30秒で問題を特定
| 発生している問題 | 直行リンク |
|---|---|
| ログインできない / 繰り返しログインを求められる / Invalid API key | Claude Code 応急処置表 · Codex 応急処置表 |
| 有料会員なのに API 従量課金される / 組織が無効化されていると表示される | 認証優先順位(根本原因の理解)→ 応急処置表 · 課金と利用枠 |
| usage limit / 429 / 529 と表示される | 応急処置表 · 課金と利用枠(CC / Codex)——環境問題ではありません。むやみに再インストールしないこと |
| 他人が使っていたPCを引き継いだら設定がめちゃくちゃになった | シナリオ A · 共用PC |
| 新しいPCに買い替えたので、環境をそのまま移行したい | シナリオ B · PC移行 / マルチマシン同期 |
| SSH / コンテナ / CI でブラウザがない環境でログインしたい | シナリオ C · ヘッドレス環境 |
| 設定を変更したのに反映されない / 社用PCの設定がロックされている | 応急処置表 · 設定関連(CC / Codex) |
| 社内プロキシ / イントラネット:TLS エラー、ダウンロード失敗 | 応急処置表 · ネットワークとプロキシ(CC / Codex) |
| コマンドが見つからない / バージョンがおかしい / 更新しても変わらない | 応急処置表 · インストールとバージョン(CC / Codex) |
| どこが壊れているか分からないので、システム全体を点検したい | 01 · 5層診断法 + 診断スクリプト |
| 実際の完全なトラブルシューティングの流れを見たい | 11 · 実戦ケーススタディ——4つの実例から症状と根本原因を追跡 |
| すべて試したがダメだった。安全にすべてリセットしたい | 12 · 万能復旧:3段階リセット |
トラブルマップ:すべての環境問題は4つの根本原因に集約される
Claude Code と Codex の「環境問題」は多種多様に見えますが、分解すると4つの根本原因しかありません。原因を正確に把握すれば、以降の全セクションで迷わず特定・修復できます。
| 根本原因 | 典型的な症状 | なぜ発生するのか |
|---|---|---|
| ① 複数のインストール経路の競合 | バージョンが勝手に新旧入れ替わる、更新しても反映されない、コマンドの挙動がおかしい | ネイティブインストーラー、npm グローバル、Homebrew/WinGet、IDE 拡張機能の内蔵バイナリ——4つの経路が同時に存在し、PATH の優先順位によって実行バイナリが決まるため |
| ② 認証情報の複数ソースによる競合 | 「ログインしているのに Invalid API key になる」、有料会員なのに API 課金される、organization disabled | 環境変数に設定された API キーは、ブラウザでログインしたサブスクリプション認証情報よりも優先順位が高いため——他人が残した export ANTHROPIC_API_KEY 1行でセッション全体がハイジャックされます |
| ③ 設定の階層的オーバーライド | 「変更しても反映されない」、社用PCで一部の設定が変更できない | Enterprise管理ポリシー > コマンドライン引数 > プロジェクトローカル > プロジェクト共有 > ユーザー設定——編集した設定が上位レイヤーによって上書きされているため |
| ④ ネットワークおよびシステム環境 | ログインが停止する、TLS エラー、OAuth コールバック失敗、ダウンロード 403 | 企業のプロキシ / プライベートCA / ファイアウォールがコールバックポートを遮断;システム時計のズレによってトークン検証が失敗する場合もあります |
2大ツール共通のメンタルモデル
朗報:2つのツールの環境アーキテクチャは高度に同型です。一度メンタルモデルを理解すれば、両方にそのまま適用できます。
| Claude Code | Codex | |
|---|---|---|
| ホームディレクトリ | ~/.claude(CLAUDE_CONFIG_DIR で変更可能) | ~/.codex(CODEX_HOME で変更可能) |
| サブスクリプションログイン | /login → ブラウザ OAuth(claude.ai アカウント) | codex login → ブラウザ OAuth(ChatGPT アカウント、コールバック localhost:1455) |
| 認証情報の保存先 | macOS キーチェーン;Linux/Windows は .credentials.json | auth.json(平文)またはシステムキーチェーン(設定可能) |
| 診断コマンド | claude doctor / セッション内 /status /doctor | セッション内 /status /debug-config;ログインログ codex-login.log |
完全な比較対照表は第13章を参照してください。本ページのすべての結論は公式ドキュメント 2026-07 版と照合済みです。出典は各節の脚注に記載しています。
五つの診断レイヤー
実行ファイルと版、環境変数名、認証、設定層、実際の接続先を確認します。複数の導入やプロキシ変数は自動的に異常とはいえません。資格情報や変数の値は出力せず、Claude の読込元は /status で確認します。未確認の Codex /debug-config に依存しません。
codex --version
claude --version
# Variable names only (macOS / Linux / WSL)
env | cut -d= -f1 | sort | grep -iE 'anthropic|claude|codex|openai|proxy' || true
Claude Code · 認証
托管、--settings、local、共有プロジェクト、ユーザーの順です。環境変数の優先はキーごとに異なります。契約、Console、API、クラウド、企業ゲートウェイを区別します。
Claude Code · 設定
托管、--settings、local、共有プロジェクト、ユーザーの順です。環境変数の優先はキーごとに異なります。契約、Console、API、クラウド、企業ゲートウェイを区別します。
Claude Code · 診断
托管、--settings、local、共有プロジェクト、ユーザーの順です。環境変数の優先はキーごとに異なります。契約、Console、API、クラウド、企業ゲートウェイを区別します。
Codex · 認証
提供元 ID、認証、URL、必須条件、排他設定、移行は専章を参照します。ChatGPT、API とゲートウェイの資格情報は同一ではありません。
Codex · 設定
提供元 ID、認証、URL、必須条件、排他設定、移行は専章を参照します。ChatGPT、API とゲートウェイの資格情報は同一ではありません。
Codex · 診断
提供元 ID、認証、URL、必須条件、排他設定、移行は専章を参照します。ChatGPT、API とゲートウェイの資格情報は同一ではありません。
シナリオ B · PC移行 / マルチマシン同期
基本原則はシンプルです:「設定は持ち出し、認証情報はマシンごとに新規ログインし、履歴はその場に残す」。「何を持ち出し、何を持ち出さないか」を明確に理解していれば、PCの乗り換えは10分で完了します。
何を持ち出し、何を持ち出さないか(2大ツール比較対照)
| 資産 | Claude Code | Codex | 移行方針 |
|---|---|---|---|
| コア設定 | settings.json、グローバル CLAUDE.md、skills/、agents/ | config.toml、profiles、グローバル AGENTS.md | ✅ dotfiles リポジトリで管理し、新マシンで clone |
| プロジェクト設定 | .claude/、.mcp.json、プロジェクト CLAUDE.md | .codex/、リポジトリ AGENTS.md | ✅ プロジェクトの git リポジトリに既存 |
| 認証情報 | キーチェーン / .credentials.json | auth.json / キーチェーン | ❌ コピーしない:新マシンで1回再ログイン(30秒)する方が安全かつクリーン |
| セッション履歴 | projects/、history.jsonl(平文!) | セッションデータディレクトリ | ❌ ローカル履歴は移行不要;複数マシン間の継続は Claude の --teleport/クラウドセッション、Codex のクラウドタスクを利用 |
| キャッシュ/プラグイン | plugins/、shell-snapshots/ 等 | ログディレクトリ | ➖ バックアップ不要。新マシンで自動再生成 |
新規PCセットアップの10分標準フロー
# 1. インストール(公式ネイティブチャネルを使用。npm と混在させない)
curl -fsSL https://claude.ai/install.sh | bash # Claude Code
npm install -g @openai/codex # Codex (または brew install codex)
# 2. 設定の復元(dotfiles アプローチ)
git clone git@github.com:yourname/dotfiles.git ~/dotfiles
ln -s ~/dotfiles/claude ~/.claude # または export CLAUDE_CONFIG_DIR=~/dotfiles/claude
ln -s ~/dotfiles/codex ~/.codex # または export CODEX_HOME=~/dotfiles/codex
# 3. 各ツールで1回ずつログイン(認証情報は絶対にコピーしない)
claude # ブラウザ OAuth → /status でアカウントと Login method を検証
codex login # ブラウザ OAuth → codex login status で検証
# 4. 診断スクリプトで仕上げ確認
claude doctor && bash ai-env-check.sh
CLAUDE_CONFIG_DIR / CODEX_HOME をクラウド同期フォルダ(iCloud/Dropbox等)に向ける手法もあります(注意:認証情報や projects/ 履歴まで同期されないよう、.gitignore 等で確実に除外してください)。参考:公式 ~/.claude ディレクトリ完全解説 · anthropics/claude-code#36693 (マルチマシン同期議論)
シナリオ C · SSH / コンテナ / ヘッドレス機 / CI
ブラウザが存在しない環境では、ログインのアプローチが異なります。2つのツールの公式推奨アプローチは異なるため、混同しないようにしてください。
Claude Code:3つのアプローチ
- SSH / WSL2 / コンテナでの対話利用:通常通り
claudeを実行し、ターミナルに表示された OAuth URL をローカルマシンのブラウザにコピーしてログインを完了。ブラウザに表示された code をターミナルに貼り付けます(貼り付けが動作しない環境ではclaude auth loginを使用して stdin から読み込ませる)。 - CI / スクリプト(サブスクリプション利用枠):ローカル環境で
claude setup-tokenを実行して1年間有効な OAuth トークンを生成し、CI Secret に保存。実行環境の環境変数CLAUDE_CODE_OAUTH_TOKENに設定します。注意:--bareモードではこの変数は読み込まれないため、bare 環境ではANTHROPIC_API_KEYまたはapiKeyHelperを使用してください。 - CI(API 従量課金):環境変数
ANTHROPIC_API_KEYを直接設定——最もシンプルですが、従量課金となります。
Codex:公式推奨の3大アプローチ(優先度順)
- デバイスコード認証(第一推奨):
codex login --device-authを実行し、ローカルの任意のブラウザで使い捨てワンタイムコードを入力。ワークスペース管理者が事前にデバイスコード認証権限を有効化している必要があります。 - auth.json のコピー(公式フォールバック):ブラウザのあるマシンでログイン後、生成された
~/.codex/auth.jsonを対象マシンへ安全にコピー(scp / docker cp)。ローカルマシンの保存先がキーチェーンの場合は、あらかじめcli_auth_credentials_storeをfileに設定してログインし直す必要があります。 - SSH ポートフォワーディング:
ssh -L 1455:localhost:1455 user@remoteで接続した上でリモート側でcodex loginを実行し、ローカルブラウザで標準の OAuth コールバックを完了させます。
Codex CI での長期認証(公式 auth.json 更新サイクル)
ChatGPT サブスクリプション利用枠で CI を実行する公式推奨パターン——Codex 実行時にトークンが自動更新され auth.json に書き戻される仕組みを利用します:
- 信頼できるマシン上で
codex login(file ストレージ) を実行し、生成されたauth.jsonを CI の Secret 管理に登録; - 各ジョブ実行時:auth.json を復元 → Codex を実行(トークンは約8日間未使用で stale になりますが、実行中に自動更新されます) → 更新された auth.json を CI Secret に書き戻す;
- 禁止事項:複数の並行ジョブで同一の auth.json を共有しないこと;初期の古いファイルを毎回上書きしないこと;更新チェーンが途切れた場合は信頼できるマシンで再度ログインして再シードすること。セルフホスト runner の場合は永続ボリュームに
CODEX_HOMEを割り当てる方がシンプルです。
CLAUDE_CONFIG_DIR が指すボリューム(Linux の認証情報は配下の .credentials.json に保存);Codex は CODEX_HOME ボリュームをマウント。重要原則:認証情報はボリューム内にのみ保持し、イメージレイヤーに絶対に焼き込まないこと。社内ネットワーク(プロキシ / プライベート CA)設定早見表
| 項目 | Claude Code | Codex |
|---|---|---|
| HTTP プロキシ | HTTPS_PROXY / HTTP_PROXY | 同左(加えて NO_PROXY に localhost を含めること) |
| プライベート CA | NODE_EXTRA_CA_CERTS=/path/ca.pem | CODEX_CA_CERTIFICATE=/path/ca.pem |
| ログイン方式の制限 | forceLoginMethod (Enterpriseポリシー) | forced_login_method (Enterpriseポリシー) |
出典:公式 Authentication (setup-token) · 公式 Codex CI/CD auth(2026-07 版)
実戦ケーススタディ:症状から根本原因への徹底追跡
高頻度で発生する4つの実戦シナリオを通じて、5層診断法の実際の適用フローを解説します。これら4つの構造を理解すれば、大半の「原因不明のトラブル」を自力で解決できるようになります——特にエラーメッセージのテキストと真の根本原因がいかに乖離しているかに注目してください。
ケース1 · 「Max 会員なのに組織が無効化されていると表示される」
| 現場の状況 | 同僚から引き継いだ PC に Claude Code をインストールし、有料サブスクリプションアカウントでログイン成功したものの、プロンプトを入力した瞬間に API Error: 400 "This organization has been disabled" が発生。再インストールを2回試みたが全く改善しない。 |
| 診断プロセス | L1 正常(単一インストール、最新バージョン);L2 で原因特定——env | cut -d= -f1 | grep -i anthropic を実行したところ ANTHROPIC_API_KEY=sk-ant-… が検出された。調査の結果 ~/.zshrc 内に記述されており、前任者が残したもので、そのキーの Console 組織はすでに解約済みだった。 |
| 修正手順 | 変数を unset + rc ファイルから export 行を削除 → ターミナルを再起動 → /status で Login method がサブスクリプションに戻ったことを確認。所要時間3分、再インストールは一切不要だった。 |
| 得られた教訓 | エラーメッセージは「組織」と言い、ユーザーは「サブスクリプション」を疑い、真の原因は「環境変数」にあった——エラーメッセージは結果を述べているだけであり、根本原因そのものではありません。これが L2 の問題に対して再インストール(L1 の操作)が永久に効かない理由です。 |
ケース2 · 「VS Code 拡張機能だけ Invalid API key になり、ターミナルは正常に動く」
| 現場の状況 | ターミナルでの claude は完全に正常動作しているが、VS Code 拡張機能側では Invalid API key · Please run /login が繰り返しポップアップし、ログイン成功後も画面が真っ暗なままになる(anthropics/claude-code#12204 に記録された典型例)。 |
| 診断プロセス | L3 認証情報層で発生しているが、根本原因は L2:マシン上に3つの認証情報ソースが同時に存在していた(OAuth ログイン、手動設定された API key、shell 内の環境変数)。ターミナルが rc ファイルから読み込んだ環境と、VS Code が GUI 起動時に継承した環境が異なっており、両者が別々の認証情報をロードし、一方が有効でもう一方が無効となっていた。 |
| 修正手順 | 認証ソースを1つに集約:すべての ANTHROPIC_* 変数と手動キーをクリア → CLI と拡張機能の双方でクリーンに再ログイン → 両側の /status で同一のサブスクリプションアカウントが表示されることを確認。 |
| 得られた教訓 | 「ターミナルは正常で IDE だけ異常」という現象は、ほぼ確実に2つのプロセスから見える環境変数の不一致です。複数の認証情報が混在していると、どのプロセスがどれを掴むか予測できません——認証ソースは必ず1つに絞りましょう。 |
ケース3 · 「翌朝PCを開くと、すべての並行セッションが一斉に再ログインを要求してくる」
| 現場の状況 | 前夜に3つの並行 Claude Code セッションを開いたままMacBookの蓋を閉じて就寝。翌朝スリープから復帰すると3つのセッションが同時にログイン画面を表示し、1つでログインし直すと他のセッションが切断される現象が連続した。 |
| 診断プロセス | L2/L3 はクリーンであり、直感に反して L1 バージョン層 に原因があった:公式 changelog を確認したところ、v2.1.211 以前に既知のバグが存在した——スリープ復帰時に複数セッションが同一トークンで同時に更新をかけ、互いの認証を無効化し合っていた。 |
| 修正手順 | v2.1.211 以上にアップデート(更新処理が単一プロセスによる協調制御に変更)、1回再ログインした後は一度も再発しなくなった。 |
| 得られた教訓 | 全体的かつ不可解な時間帯に起きる現象は、自分の設定を疑う前にバージョンと changelog を確認すること。公式がすでに修正したバグは、ローカル環境をどれだけ調査しても原因究明できません。 |
ケース4 · 「Codex が CI で1週間安定動作していたのに、突然すべてのパイプラインで 401 エラーが発生」
| 現場の状況 | ChatGPT サブスクリプション利用枠で CI を運用:ローカルの auth.json を CI Secret に登録し、ジョブ実行ごとに復元して実行。1週間後に全パイプラインが一斉に 401 を出し始め、ローカルから再エクスポートすると数日間持ち直す、というサイクルを繰り返していた。 |
| 診断プロセス | L3 認証情報層の問題:Codex のトークンは約8日間未使用で stale になります。実行中に自動更新されて auth.json に書き戻されていたにもかかわらず、CI パイプラインが毎回 Secret にある「初期の古いファイル」で上書き復元していたため、自動更新の成果が破棄され、更新チェーンが途切れて失効していた。 |
| 修正手順 | 公式 CI パターンに則りクローズドループを構築:復元 → 実行 → 更新された auth.json を Secret に書き戻す;並行ジョブ間で同一の認証情報を共有しないよう分離。セルフホスト runner では永続 CODEX_HOME を割り当てて完全自動化。 |
| 得られた教訓 | 認証情報は静的な設定ファイルではなく、生きている(状態を持つ)ものです。「N日おきに定期的に壊れる」問題は、期限切れになるリソースの更新ライフサイクルが途切れていないかを疑ってください。 |
事例の根拠:公式 troubleshoot-install / authentication ドキュメント、anthropics/claude-code#12204、Codex CI/CD auth 公式ガイド(2026-07 照合済み)。マシンや人物の状況はわかりやすく再構成していますが、調査経路と根本原因はすべて実際の動作メカニズムに基づいています。
復元できる調査とリセット
エラー、版、有効設定、秘匿済みログを保存します。認証が原因と分かった場合のみ再認証します。部分バックアップでは全履歴を復元できないため、設定全体を消さないでください。
隔離が必要なら実際の保存先を確認し、日時付きで全体を複製して読めることを検証します。原本を残し、一項目ずつ変更・復元します。
2大ツール概念対照表 + リソースインデックス
1つの表で2大ツールを完全対照
| 概念 | Claude Code | Codex |
|---|---|---|
| ホームディレクトリ / パス変更変数 | ~/.claude / CLAUDE_CONFIG_DIR | ~/.codex / CODEX_HOME |
| ユーザー設定ファイル | settings.json (JSON) | config.toml (TOML) |
| グローバル記憶/指示ファイル | ~/.claude/CLAUDE.md | ~/.codex/AGENTS.md |
| 認証情報の保存先 | macOS キーチェーン / .credentials.json | auth.json / キーチェーン (cli_auth_credentials_store) |
| 現在ステータス/認証確認 | /status | codex login status、/status |
| 設定診断コマンド | claude doctor、/doctor、--safe-mode | /debug-config、codex-login.log |
| 環境変数ハイジャック源 | ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN | OPENAI_API_KEY (API 課金モード時) |
| CI 長期認証トークン | claude setup-token → CLAUDE_CODE_OAUTH_TOKEN (1年) | auth.json 復元→実行→更新書き戻しサイクル;または API Key |
| ブラウザなし環境でのログイン | URL をローカルで開きコード貼り付け / claude auth login | --device-auth / SSH ポート転送 1455 |
| プライベート CA | NODE_EXTRA_CA_CERTS | CODEX_CA_CERTIFICATE |
| 企業ポリシー強制 | forceLoginMethod / forceLoginOrgUUID | forced_login_method / forced_chatgpt_workspace_id |
| 複数アカウントの分離 | CLAUDE_CONFIG_DIR + alias | CODEX_HOME + alias (公式サポート議論中) |
リソースインデックス(信頼度順)
| リソース | 説明 |
|---|---|
| Claude Code · Troubleshoot installation and login | 公式インストール&ログイン トラブルシューティング総合ページ——「エラーメッセージ → 解決策」対照表が最も充実。まずここを確認 |
| Claude Code · Authentication | 公式認証メカニズム完全解説。認証優先順位の唯一の権威ある出処 |
| Claude Code · Settings · ~/.claude ディレクトリ完全解説 | 設定の階層レイヤーとディレクトリ構造の公式仕様 |
| Codex · Authentication (→ learn.chatgpt.com) | Codex 公式認証ドキュメント:ログイン方式、認証情報保存、ヘッドレス環境 |
| Codex · CI/CD auth | 公式 CI 長期認証ガイド(auth.json 更新サイクル) |
| Claude ヘルプセンター · インストールと認証のトラブルシューティング | 公式サポート視点での補足。サポートへの問い合わせ窓口を含む |
| madewithlove · マルチアカウントログアウト不要運用法 · Josh Grossman · Windows デュアルアカウント | コミュニティ実戦知見:CLAUDE_CONFIG_DIR による環境分離の代表的記事 |
| ClaudeLog Troubleshooting · codex-multi-auth | コミュニティによるトラブルシューティング速見表および Codex マルチアカウント管理ツール |
| 本ナレッジベースの関連トピック | Claude Code 完全実践ガイド · 設定とアカウント完全解説 · Codex 完全実践ガイド · 設定とアカウント完全解説——設定階層、MCP 配置、環境変数一覧を詳しく解説 |