Skip to content

[Bug]: openai-codex/gpt-5.4 returns Cloudflare HTML and gets misclassified as rate_limit / DNS, leaving TUI stuck #67517

Description

@1jsamuel

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

openai-codex/gpt-5.4 stalls indefinitely in the TUI. Logs show Cloudflare / HTML responses, but OpenClaw misclassifies the failure as API rate limit reached, DNS lookup for provider endpoint failed, or raw ....

Steps to reproduce

Authenticate Codex OAuth:
codex login --device-auth
openclaw models auth login --provider openai-codex
Set model to openai-codex/gpt-5.4
Start a normal TUI/session prompt
Observe the session stall/noodle without a real response
Check logs, which show Cloudflare / HTML responses and inconsistent classification (rate_limit, DNS, raw )

Expected behavior

Cloudflare / HTML upstream failures should be classified consistently as upstream HTTP/service errors and fail cleanly, not as DNS or rate-limit errors, and should not leave the TUI session stuck.

Actual behavior

The same underlying upstream failure appears to be mapped inconsistently:
API rate limit reached
DNS lookup for provider endpoint failed
raw ...

OpenClaw version

First observed on 2026.4.14. Downgraded to 2026.4.12 (1c0672b) and the same behavior persisted.

Operating system

macOS

Install method

npm global install (updated via OpenClaw tooling, downgraded with npm command)

Model

gpt-5.4

Provider / routing chain

openai-codex/gpt-5.4 via Codex OAuth (not openai/gpt-5.4 API key route)

Additional provider/model setup details

codex login --device-auth
openclaw models auth login --provider openai-codex
default model set to openai-codex/gpt-5.4
disabling cron/channels/memory-core reduced background traffic but did not fix single-request repro

Logs, screenshots, and evidence

warn errors:
- HTML error truncated
- Cloudflare 521 response

04:16:12+00:00 warn agent/embedded {"event":"embedded_run_agent_end","isError":true,
"error":"API rate limit reached","failoverReason":"rate_limit",
"model":"gpt-5.4","provider":"openai-codex"} embedded run agent end

04:16:22+00:00 warn agent/embedded {"event":"embedded_run_agent_end","isError":true,
"error":"API rate limit reached","failoverReason":"rate_limit",
"model":"gpt-5.4","provider":"openai-codex"} embedded run agent end

04:16:33+00:00 warn agent/embedded {"event":"embedded_run_agent_end","isError":true,

"error":"DNS lookup for provider endpoint failed",
"model":"gpt-5.4","provider":"openai-codex"} embedded run agent end

04:16:49+00:00 warn errors Long error truncated: <html>...
04:16:49+00:00 warn agent/embedded {"event":"embedded_run_agent_end","isError":true,
"error":"<html>...","model":"gpt-5.4","provider":"openai-codex"} embedded run agent end

Impact and severity

High. Blocks normal interactive use of openai-codex/gpt-5.4 in the TUI and leaves sessions stuck.

Additional information

I first noticed this after updating to 2026.4.14
Downgrading to 2026.4.12 did not clear it
This makes it unclear whether this is a pure 4.14 regression vs. an upstream/provider-side or persisted local-state issue
Another user in the Discord help thread reported the same symptom

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingregressionBehavior that previously worked and now fails

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions