-
Notifications
You must be signed in to change notification settings - Fork 3
plat 504
github-actions[bot] edited this page Oct 5, 2026
·
1 revision
PLAT-504 — "Selected model is at capacity" (Codex) was only visible in the terminal, not in the chat
| Coordination | Value |
|---|---|
| State | fixed on main (provider 63976ce, pinned in the builder); needs a restart |
| Date | 2026-10-05 |
| Owner | coding-agent-bridge |
Owner, Upwork chat on Codex: the terminal showed "■ Selected model is at capacity. Please try a different model." The chat area showed nothing. A stored-events check of the chat found no event containing that text.
Rollout file: event_msg task_complete with last_agent_message: null and error: {"message": "Selected model is at capacity. Please try a different model.", "codex_error_info": "server_overloaded"}.
codex exec --json stdout: {"type":"turn.failed","error":{"message":...}} (preceded by {"type":"error","message":...}); the message can be a JSON-serialized API error.
- Interactive (tmux) path: the rollout's turn error was read only when the reply text was empty, so any pane text (the error banner itself) hid it.
- Structured path (workflow steps): neither the stdout
turn.failednor the rollout error was read; the step failed ascodex run failed: exit status 1: Reading additional input from stdin....
-
CodexTurnError(message +codex_error_info);Capacity()is true forserver_overloaded; its text is "codex-cli model at capacity: ... (try again shortly or pick a different model)". - Interactive: the rollout's error decides, whatever the pane says (no terminal text matching). Structured:
turn.failedon stdout (else theerrorevent), plus the rollout's code found by the run's own thread id. Structured records only. - Checked live: a real Codex failure on the structured transport (unsupported model) now returns a
CodexTurnErrorwith the provider's reason. One unit test on the real capacity record.
- Not seen live: an actual "at capacity" turn on either path (cannot be provoked); the interactive path was checked by code and the record shape only.
- No retry or capacity-wait handling (PLAT-101 style) for
server_overloaded: it is reported as a failure with a clear reason. Decide separately. - How the chat renders the error is the existing LLM-error card; not changed.
Auto-synced from docs/ on main. Edit there, not here.