unslothai/unsloth · error · CodexTransportError

ChatGPT Codex generation failed{f' ({code})' if code else ''

Error message

ChatGPT Codex generation failed{f' ({code})' if code else ''}.

What it means

The SSE stream delivered a terminal 'response.failed' or 'error' event: ChatGPT accepted the request but the generation itself failed server-side. The error code extracted from event.error.code (or response.error.code) is embedded in the message, e.g. 'ChatGPT Codex generation failed (server_error)'.

Source

Thrown at studio/backend/core/inference/openai_codex_client.py:710

                                else ("tool_calls" if saw_tool_call else "stop")
                            )
                            yield _chunk(
                                completion_id,
                                model,
                                delta,
                                finish,
                                responses_usage_to_chat(response_body.get("usage")),
                            )
                            emitted_terminal = True
                            break
                        elif kind in ("response.failed", "error"):
                            error = (
                                event.get("error")
                                or (event.get("response") or {}).get("error")
                                or {}
                            )
                            code = error.get("code") if isinstance(error, dict) else None
                            raise CodexTransportError(
                                f"ChatGPT Codex generation failed{f' ({code})' if code else ''}."
                            )
                except httpx.HTTPError:
                    if cancel_event is not None and cancel_event.is_set():
                        return
                    raise
        finally:
            if cancel_task is not None:
                cancel_task.cancel()
        if not emitted_terminal and not (cancel_event is not None and cancel_event.is_set()):
            raise CodexTransportError("ChatGPT stream ended before completion.")

View on GitHub (pinned to 203007d190)

Solutions

  1. Inspect the (code) in the message to route: server_error → retry with backoff; content policy → adjust prompt; rate_limit → back off
  2. Retry once for transient codes before surfacing to the user
  3. Reduce max output tokens or split the task if failures cluster on long generations
Defensive patterns

Strategy: try-catch

Try / catch

try:
    collect(stream)
except CodexTransportError as exc:
    if 'generation failed' not in str(exc):
        raise
    code = parse_failure_code(str(exc))
    if code in ('server_error', 'rate_limit'):
        return await retry_with_backoff(request)
    surface_policy_or_permanent_error(code)

Prevention

When it happens

Trigger: Streaming a generation that dies mid-completion; the endpoint emits event: response.failed or a top-level error event. Code values identify the cause (server_error, content_policy_violation, rate_limit, etc.).

Common situations: Prompt or output tripping content policy; upstream capacity errors during peak load; overly long generations hitting server limits; tool-heavy requests failing on the server.

Related errors


AI-assisted analysis of unslothai/unsloth@203007d190 (2026-08-15). Data as JSON: /api/errors/5fa6eef7a60ffaa3. Report an issue: GitHub.