Codexの利用上限:上限に達する理由と作業を続ける方法
Codexのプラン利用上限とAPIのレート制限、コンテキスト超過、クォータ不足を見分け、安全に作業を続ける方法を解説します。
目次

Codexに上限へ達したと表示されたら、まず正確なエラーメッセージとUsageページを確認してください。ChatGPTプランに含まれるCodexの利用上限、APIのレート制限、コンテキストウィンドウの超過、API残高がゼロの状態は、それぞれ別の問題です。APIクレジットを購入してもサブスクリプションの利用枠は増えず、サブスクリプションのリセットを待ってもAPIエラーは解決しません。
2026年8月14日時点のOpenAIの現在のCodex料金表によると、Codex、ChatGPT Work、ChatGPT for Excel、Workspace Agentsは、これらの機能が利用中のプランで提供されている場合、同じagentic usageとcredit poolを消費します。利用可能な枠の減少をCodexだけの利用によるものと判断する前に、Workspaceで利用できるほかのagentic機能のアクティビティもUsageで確認してください。
タスクが緊急の場合、互いに独立した2つの選択肢があります。現在のプランで利用できる公式のクレジット手段を使うか、作業を別のAPIワークフローへ移す方法です。後者の場合は、BetterTokenでCodexのカスタムプロバイダーを設定し、まず小さなリクエストでテストできます。BetterTokenは従量課金のAPIアクセスを提供しますが、ChatGPTサブスクリプションを拡張したり、Codexの公式な上限を解除したりするものではありません。
1分で上限の種類を特定する
| 表示されている内容 | 通常考えられる意味 | 確認する場所 | 次の対応 |
|---|---|---|---|
| 利用上限に達したことを示すCodexのバナー | アカウントで利用できる共有agentic usage、またはプランのクレジットを使い切った | Usage、上限バナー、Workspaceで利用できるほかのagentic機能 | 利用可能なリセットやクレジットを使う、プランを変更する、またはリセットを待つ |
429、rate_limit_exceeded、Retry-After | プロバイダー固有のAPI拒否であり、HTTPステータスだけでは原因を判断できない | 正確なエラーコード、レスポンス本文、レスポンスヘッダー、プロバイダーのドキュメント | そのエラーに固有の診断方法と再試行手順に従う |
context_length_exceeded、またはコンテキストが長すぎるというメッセージ | リクエストと会話履歴が、新しい応答に必要な余地を残していない | 現在のセッションサイズと添付ファイル | 新しいセッションを開始する、入力を減らす、またはタスクを分割する |
insufficient_quota、または残高に関する拒否 | 利用可能なAPI予算または許可された支出枠がない | 残高、Workspaceの上限、キーの状態 | 入金するか上限を修正し、その後に小さなテストを繰り返す |
429ステータスだけから原因を推測しないでください。具体的なエラーコードとレスポンス本文を読み、そのエラーに関するプロバイダーの最新ドキュメントに従ってください。
固定のメッセージ数を当てにできない理由
2026年8月14日に確認したOpenAI Help Centerによると、Codexの利用量は、タスクの規模と複雑さ、選択したモデル、タスクの実行場所によって変わります。小規模なローカル編集と、大規模なリポジトリを扱う長時間のタスクでは、利用枠の消費量が異なります。そのため、「5時間ごとにN件のメッセージ」といった計算式はすぐに古くなる可能性があり、実際の利用量を確実には予測できません。
現在のトークンベースの料金表に基づいてクレジットで支払うタスクでは、測定可能な変数は選択したモデルと、タスクの入力(input)、キャッシュ済み入力(cached input)、出力(output)の各トークン数です。現在のCodex料金表を開き、自分のWorkspaceに表示されている情報から、現在適用される表と単位を確認してから費用を見積もってください。
Codexプランの利用上限に達したときの対処法
- Usageまたは上限バナーを開き、アカウントに提示されている選択肢を正確に記録します。クレジット、利用可能なリセット、アップグレード、上限のリセット待ちのいずれかです。Workspaceで利用できるほかのagentic機能も共有枠を消費していないか確認します。現在のWorkspace roleでcreditsの追加やbillingの管理が許可されていない場合は、Workspace ownerまたはadminに連絡し、実行できる操作はplan、Workspace role、admin permissionsによって異なる点にも注意してください。
- 未コミットの変更を保存し、タスクの次のステップを短く記録します。通ることを期待して長いターンを再実行しないでください。
- 続行方法を選びます。現在のプランで利用できる公式の選択肢を使うか、別のAPIワークフローへ切り替えます。この2つの予算を同じ計算に混ぜないでください。
緊急タスクをAPIワークフローへ安全に移す
API経由の方法は、サブスクリプション機能の追加ではなく、独立して測定できる予算が必要な場合に役立ちます。BetterTokenを使う場合の手順は次のとおりです。
- Workspaceで自分のAPI Keyを作成し、現在のSetupページまたはWorkspaceのmodel plazaから最新のModel IDを選択します。固定のグループ名を前提にしないでください。
- まず、実際の
CODEX_HOMEを確認します。現在のOpenAI Config Referenceで、名前付きプロファイルの標準パスは$CODEX_HOME/bt.config.tomlです。デフォルトでは通常、macOS/Linuxは~/.codex、Windowsは%USERPROFILE%\.codexですが、カスタム値が設定されている場合はその値が優先され、実際のパスも変わります。
macOS/Linuxでは、環境変数を変更せずにディレクトリを確認します。
printf '%s\n' "${CODEX_HOME:-$HOME/.codex}"
PowerShellでは次を実行します。
if ($env:CODEX_HOME) { $env:CODEX_HOME } else { Join-Path $env:USERPROFILE ".codex" }
このコマンドで表示されたディレクトリにbt.config.tomlを作成します。
model = "YOUR_MODEL_ID"
model_provider = "bettertoken"
[model_providers.bettertoken]
name = "BetterToken"
base_url = "https://www.bettertoken.ai/v1?utm_source=blog&utm_medium=organic_content&utm_campaign=SEO-093&utm_content=codex-usage-limits-kak-prodolzhit"
env_key = "BETTERTOKEN_API_KEY"
wire_api = "responses"
requires_openai_auth = false
request_max_retries = 4
stream_max_retries = 8
stream_idle_timeout_ms = 300000
supports_websockets = false
ファイル$CODEX_HOME/bt.config.tomlは--profile btに対応します。このプロファイルはメインの$CODEX_HOME/config.tomlを置き換えません。ルートレベルのmodel_provider = "bettertoken"は[model_providers.bettertoken]と完全に一致する必要があります。
このbt.config.tomlとcodex --profile btを使う手順はCodex CLI向けです。Codex Desktopの現在の設定方法はBetterTokenの最新Codexガイドで確認してください。Codex VS Code Extensionでは、この設定ブロックをそのまま転用せず、専用ガイドに従ってください。
- シェルでキーをexportし、その値を表示せずに、変数が空でないことだけを確認します。
export BETTERTOKEN_API_KEY="YOUR_API_KEY"
test -n "$BETTERTOKEN_API_KEY" && echo "BETTERTOKEN_API_KEY is set"
- 新しいprofileでCodexを起動します。
codex --profile bt
続いて、次のような小さな読み取り専用リクエストを1件送信します。
Read README.md and summarize its purpose. Do not modify any files.
- より大きなタスクを続ける前に、Workspaceでリクエストとその使用量を確認します。現在の完全な設定例はCodexセットアップガイドで確認できます。
実際のキーをリポジトリ、記事、スクリーンショット、またはGitにコミットされる可能性があるconfig.tomlへ記載しないでください。値は環境変数から渡す必要があります。
切り替え時に作業を失わないために
機密情報を含まない短い引き継ぎファイルを作成します。
Goal: fix failing test X.
Already checked: A and B.
Changed files: path/to/file.
Next safe step: run one targeted test.
Prohibited: commit, deploy, data deletion.
別の作業コピーを開く前に、現在の状態を確認し、追跡対象の変更をバイナリ対応のpatchとして保存し、未追跡ファイルは別に一覧化します。
git status --short
git diff --binary HEAD > ../codex-handoff.patch
git ls-files --others --exclude-standard -z > ../codex-handoff-untracked.zlist
patchには未追跡ファイルが含まれません。何かをコピーする前に../codex-handoff-untracked.zlistを確認し、.envファイル、秘密鍵、認証情報、その他の機密情報を除外してください。明示的に確認・承認したパスだけを残し、未追跡ファイルを不要または安全に転送できるものだと決めつけないでください。
現在のHEADから新しいworktreeを作成し、patchを適用する前に検査して、適用後の状態を確認します。
git worktree list
git branch --list codex/api-handoff
git worktree add -b codex/api-handoff ../project-api-handoff HEAD
if test -s ../codex-handoff.patch; then
git -C ../project-api-handoff apply --check ../codex-handoff.patch
git -C ../project-api-handoff apply ../codex-handoff.patch
fi
while IFS= read -r -d '' path; do
mkdir -p -- "../project-api-handoff/$(dirname -- "$path")"
cp -p -- "$path" "../project-api-handoff/$path"
done < ../codex-handoff-untracked.zlist
git -C ../project-api-handoff status --short
ifブロックは、tracked patchが空の場合にgit applyをスキップします。コピー用ループはこのブロックの外にあるため、確認・承認済みの未追跡ファイルはそのまま転送されます。../project-api-handoffまたはcodex/api-handoffがすでに存在する場合は、未使用の別のパスまたはブランチ名を選びます。名前の競合を解消するためだけに、既存のworktree、ブランチ、patch、未追跡ファイルを削除しないでください。
会話履歴全体ではなく、引き継ぎメモと確認済みの作業状態を使って新しいAPIセッションを開始します。これにより利用量を抑え、コンテキスト超過のリスクを下げ、完了済みの操作を繰り返す可能性を減らせます。
代わりに429を受け取った場合
次の順番で確認してください。
- 具体的なエラーコード、レスポンス本文、レスポンスヘッダー、そのエラーに関するプロバイダーのドキュメント。
- 複数のエージェントやCIジョブが同じキーを使っていないか。
- 残高が空になっていないか、またはWorkspaceの支出予算に達していないか。
- そのエラーに対して推奨されている待機時間がある場合、それを待った後でも1件の小さなリクエストでエラーが発生するか。
具体的なエラーとプロバイダーのドキュメントから一時的なレート制限だと判断できる場合は、ジッター付きで上限を設けた指数バックオフを使用します。無期限に再試行しないでください。リクエストを繰り返すとキューが増え、サービス復旧後に予算を消費する可能性があります。
最終的な選択をする
- Codexのバナーにクレジットまたはリセットが表示され、同じプランベースのワークフローを続けたい場合は、利用可能な公式の選択肢を使います。
- 自動化、CI、または緊急タスクのために独立した予算が必要な場合は、APIワークフローを設定し、使用量を別々に追跡します。
- 問題がコンテキストウィンドウにある場合は、コンテキストを減らすか、新しいセッションを開始します。支出を増やしたり、上限のリセットを待ったりしても解決しません。
- 問題がAPIの
429である場合は、具体的なエラーコード、レスポンス本文、プロバイダーのドキュメントに従います。残高がゼロの場合は、再試行する前に予算を修正します。
緊急の作業を移す前に、現在のBetterToken向けCodexセットアップガイドを開き、別のキーを使うカスタムプロバイダーを独立した$CODEX_HOME/bt.config.tomlに設定してください。codex --profile btで起動して1件の小さなリクエストを検証し、成功後に作業用の支出上限を設定してから長いタスクを続けます。