AIFreeAPI Logo

Codexがcloud config bundleを15秒で読み込めないときの切り分け

A
8 min readOpenAI Codex

この15秒エラーは通常のモデル実行より前に起きます。現在のidentityに合う有効キャッシュと事実を保全し、一つだけ条件を変えた比較で次の担当領域を決めます。

Codexの15秒エラーを起動境界の理解、情報保全、一条件の比較、観察、適切な担当者への引き渡しで切り分ける5原則

error loading configuration: timed out waiting for cloud config bundle after 15s は、Codexが通常のセッションを開始する前に、組織管理の設定を読み込めなかったことを示します。モデルの返答が遅い状態や、MCPツールの実行待ちとは段階が違います。

ただし、この一行だけで原因は決まりません。OpenAI全体の障害、proxy・VPN・firewall、古い認証、選択中のworkspace、キャッシュ、clientの不具合は、どれも候補に残ります。最初から再インストールしたり、.codexやcacheを削除したりすると、比較に必要な状態まで失われます。

安全な進め方は、起動境界を特定し、現在の情報を残し、条件を一つだけ変えて再試行することです。

15秒で待っているもの

OpenAIのManaged configurationでは、対応するChatGPT desktop app、Codex CLI、IDE extensionが、workspaceの管理要件をcloud config bundleとして受け取る仕組みを説明しています。clientやversionによって対応範囲は異なります。

起動時、clientはまず現在のidentityに一致する有効な署名付きcacheを確認します。使えるcacheがなければbundleをretry付きで取得し、検証に成功したものを保存します。取得が失敗またはtimeoutし、有効cacheもない場合は、組織の要件を無視して起動するのではなくエラーを返します。

したがって、表示された15秒から確実に言えるのは次の範囲です。

  • 通常のmodel turnより前の設定読み込みで止まった。
  • 現在のidentityに使える有効cacheだけでは起動を継続できなかった。
  • timeoutは結果であり、service・network・authentication・workspace・clientのどれが原因かは未確定である。

通常のconfig.tomlも同じものではありません。Config precedenceは、CLI override、trusted project、profile、user、systemなどのlocal valueの優先順位です。managed requirementsはworkspaceが許可する範囲を強制する層なので、TOMLを書き換えてもbundleへの到達性は証明できません。

起動時にidentityが一致する有効cacheを確認し、なければcloud config bundleを取得し、timeoutかつ有効cacheなしなら停止する分岐
起動時にidentityが一致する有効cacheを確認し、なければcloud config bundleを取得し、timeoutかつ有効cacheなしなら停止する分岐

変更する前に残す情報

次の内容があれば、再試行を比較できます。

  • exact errorと発生時刻(timezoneを含む)
  • desktop app、CLI、IDE extensionのどこで出たか
  • Codex version、OS、実際にprocessが動くhost
  • 認証方式と選択中のaccount/workspace(tokenやメールアドレスは除く)
  • office network、home network、VPN、proxy、Remote SSHなどのroute
  • 初回起動、update直後、workspace変更後、再ログイン後のどれか
  • 直前まで正常だったversionと時刻

CLIが対応している場合、削除を伴わない確認から始めます。

bash
codex --version codex --help codex doctor --summary codex login status

公式のDeveloper commandsによると、codex doctorはinstallation、configuration、authentication、runtimeなどの状態をまとめます。--jsonはredacted outputとして案内されています。とはいえ、doctorが成功してもremote bundleまで到達した証明にはなりません。

codex login statusもactiveな認証方式を表示するコマンドで、通信テストではありません。installed versionにないcommandは無理に使わず、まずcodex --helpを基準にします。codex logoutは保存済みcredentialsを削除するため、一般的なtimeoutだけを理由に実行しないでください。

共有するlogからはtoken、cookie、メールアドレス、private path、repository名、prompt本文を除きます。home directoryやCodex data directoryを丸ごと渡す必要はありません。

一回の比較で担当領域を絞る

account、workspace、project、client versionを固定し、許可された条件を一つだけ変えます。再試行の時刻、経過時間、同じerrorか別のstageまで進んだかを記録してください。

観察一回の比較次に確認する領域
OpenAI Statusに関連するactive incidentがあるlocal dataを消さず、復旧後に同条件で再試行service。ただしstatusは集約情報
office networkまたはVPNでだけ失敗する規則上許可された別routeで同じhostから一回だけ試すproxy、firewall、TLS inspection、DNS、egress
update直後から始まった変更前後のversionを残し、公式に対応するupdateを確認client versionまたはpackage
account/workspace変更と同時に始まった選択中のidentityを確認し、cacheは消さずに再現authentication、workspace assignment、policy
同じworkspaceの複数人で同時に起きるversion、地域、時刻をsecretなしで比較workspace adminまたはOpenAI support
一人だけ複数の許可済みrouteで再現するdoctor結果と時刻を添えて共有account、workspace、client、個別route

ブラウザでWebページを開けることは、Codex processのrouteが正常という証明になりません。IDE extension host、container、WSL、Remote SSH、corporate VMは、ブラウザと異なるproxy、DNS、CA、egress ruleを使うことがあります。実際にエラーを出したhostで比較します。

組織のsecurity controlを無効化したり、禁止されたnetworkへ切り替えたりしないでください。別routeが許可されない環境では、時刻、host、client、version、routeの種類をnetwork管理者へ渡します。

Codexの起動境界、残す情報、一回の比較、避ける操作、管理者やsupportへ渡す内容をまとめた診断マップ
Codexの起動境界、残す情報、一回の比較、避ける操作、管理者やsupportへ渡す内容をまとめた診断マップ

最初にしないこと

.codex、不明なcache directory、app data全体を削除しないでください。公式説明では、identityが一致する有効cacheはremote取得に失敗した場合でも起動を助ける可能性があります。削除はその証拠と退避経路を同時に失わせます。公開資料も手動cache削除を通常の復旧手順としていません。

MCPのstartup_timeout_sectool_timeout_secも、このerrorの最初の修正場所ではありません。cloud config bundleは通常セッションより前に読み込まれます。bundleを通過した後にMCPで止まるなら、その新しいstageを別に診断します。

local configを一度に何項目も変更しないでください。明確にprecedenceやsandboxを示す証拠がある場合はCodexのconfig.tomlガイド、refresh tokenの文言が出ている場合は認証更新エラーのガイド、HTTP 429ならrate limitの切り分けが次のownerです。

再ログインを選ぶ条件

再ログインは、login statusが想定外、workspaceが違う、refresh tokenの明示エラーがある、管理者がassignment変更を確認した、など認証を疑う独立した証拠があるときに限ります。先にstatusとdoctorの結果を保存し、ログイン方法を準備してから行います。

症状が15秒timeoutだけなら、logoutは診断ではなく推測です。credentialsを消してしまうため、通信やworkspace policyの問題を認証問題へ置き換えるおそれがあります。

管理者やsupportへ渡す内容

エスカレーションには、exact error、2〜3回のtimestamp、surface、version、OS、実行host、認証方式、account/workspaceの安全な識別、status確認、許可されたnetwork比較、codex doctor --summaryまたはredacted JSONを含めます。最初の発生前に変わったものと、すでに試した操作も短く書きます。

「同じversionとworkspaceで、自宅routeでは通りoffice routeでは止まる」のような比較結果は、「何度も再インストールした」より有用です。次の起動でbundleを通過し、別の場所で止まったなら、15秒errorの推測を持ち越さず、その新しいstageを記録してください。

結論はcacheを消すことでも待ち時間を伸ばすことでもありません。起動時のmanaged configurationという境界を守り、証拠を残し、比較可能な一回のtestで、service・network・version・authentication・workspace policyのどこへ渡すかを決めることです。