夜中の2時、Discordに送ったメッセージの返事が来ない。
エージェントが動いてるはずのPixel 4aを確認すると、Claudeのレート制限に引っかかって完全に止まっていた。cronで回してるX投稿も、記事生成も、全部止まってる。これが初めてではなかったけど、毎回手で再起動するのは正直しんどい。
そこで、OpenClawにOpenAI CodexのOAuth認証を追加して、Claudeが詰まったら自動でCodexに切り替わる構成にした。この記事はその時の作業ログです。
前提:何が動いていたか
自分の環境では、Pixel 4a上のOpenClawで以下を同時に回していた。
- 毎時のX自動投稿(cron)
- 1日4回のブログ記事生成(cron)
- Discordからの手動やり取り(メインセッション)
全部Claude Opus 4.6で動かしていたので、トークン消費が集中するタイミングでレート制限に当たる。当たると全セッションが止まる。
復旧までにやったこと
OAuth認証の開始
OpenClawにはCodex OAuthの認証フローが組み込まれている。
openclaw onboard --auth-choice openai-codex
これを実行すると、セキュリティ確認→設定確認→OAuth URLの表示、という流れで進む。
URLをブラウザで開いてログイン
表示されたURLをスマホのブラウザで開き、ChatGPTアカウントでログインする。ログイン後、ブラウザがlocalhostにリダイレクトされるので、そのURLをコピーしてターミナルに貼り付ける。
ここで1つハマった。
state不一致の罠
最初、onboardingプロセスが途中でkillされて、再度実行した。そのとき、前回のリダイレクトURLを使い回したら認証が通らなかった。
原因はcode_challengeとstateの不一致。OAuthの仕様上、認証URLは毎回一意に生成される。前のセッションで取得したコードを別セッションに渡しても、サーバー側で弾かれる。
対処は単純で、新しく表示されたURLで再度ログインし直すだけ。ただ、これに気づくまでに3回やり直した。エラーメッセージが出ずにただ無応答になるので、原因の切り分けに時間がかかった。
onboardingを最後まで完走させる
もう1つのハマりポイント。認証自体は成功しても、onboarding wizardのチャンネル選択画面で操作する前にプロセスがkillされると、認証情報がファイルに保存されない。
auth-profiles.jsonを直接確認して、openai-codex:defaultのエントリが入っていれば成功。入っていなければ、もう一度最初からやり直す必要がある。
{
"openai-codex:default": {
"type": "oauth",
"provider": "openai-codex"
}
}
フォールバック設定
認証が通ったら、モデルの優先順位を設定する。
自分の場合は、メインをClaude Opus、フォールバックをCodex GPT-5.3にした。OpenClawの設定ファイル(openclaw.json)で以下のように書く。
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-opus-4-6",
"fallbacks": ["openai-codex/gpt-5.3-codex"]
}
}
}
}
設定変更後にゲートウェイが再起動されて反映される。
実際に切り替わるとどうなるか
Claudeがレート制限に当たると、OpenClawが自動的にフォールバック先のCodexにリクエストを投げる。ユーザー側から見ると、少し応答の雰囲気が変わるくらいで、操作は何も変わらない。
cronで動いているタスクも同様に継続される。これが一番大きかった。夜中に止まって朝まで放置、というパターンがなくなった。
逆構成も試した
試しにCodexをメイン、Claudeをフォールバックにも切り替えてみた。動作自体は問題なかったが、自分の用途ではClaude Opusの方がツール呼び出しの精度が高かったので、元に戻した。
ここは好みと用途次第だと思う。コーディング中心ならCodexメインの方が合うかもしれない。
この構成で変わったこと
- レート制限による完全停止がなくなった
- cronタスクの取りこぼしが減った
- 障害時に「モデルの問題か、認証の問題か」を分離して見られるようになった
- 精神的に楽になった(夜中に確認しなくていい)
まとめ
フォールバック構成を入れたことで、運用の安定度が明らかに上がった。
設定自体は30分もあれば終わるが、OAuth認証周りで無駄にハマるポイントがある。特にstateの使い回しと、onboardingの途中離脱には注意が必要。
同じようにOpenClawを常時運用している人には、メインモデルの選定と同じくらい、フォールバック設計を考えることを勧めたい。
関連記事
- 使わなくなったPixel 4aをAIエージェント専用機にしたら、24時間働く相棒になった
- OpenClawのHeartbeatでロングタスク監視を回したら、無言停止に気づけるようになった話
- Termux + PRoot-Distroで開発環境を作る時のハマりポイント集