What version of Codex CLI is running?
codex-cli 0.113.0
What subscription do you have?
Tested with ChatGPT Plus and ChatGPT Team accounts.
Which model were you using?
gpt-5.4
What platform is your computer?
Linux 6.6.87.2-microsoft-standard-WSL2 x86_64 unknown
What terminal emulator and version are you using (if applicable)?
Windows Terminal (WSL), xterm-256color
What issue are you seeing?
service_tier = "fast" appears ineffective or at least unclear in ChatGPT-authenticated Codex CLI websocket mode.
What I observed:
- Codex CLI uses websocket transport to
wss://chatgpt.com/backend-api/codex/responses.
- After inspecting the first outbound
response.create websocket frame, I don't see a service_tier field in the JSON payload.
- If
service_tier: "fast" is forced directly into the websocket JSON request, the backend responds with an error like:
{"type":"error","status":400,"error":{"type":"invalid_request_error","message":"Unsupported service_tier: fast"}}
- On direct websocket probes using the same ChatGPT auth tokens and account IDs, terminal
response.completed.response.service_tier comes back as default on the tested Plus and Team accounts.
So from the outside it looks like:
service_tier = "fast" in CLI config doesn't have an obvious effect in ChatGPT-auth mode, or
fast requires a specific entitlement/plan, but that isn't clear from the current behavior.
What steps can reproduce the bug?
- Use
codex-cli 0.113.0 with ChatGPT auth.
- Configure:
model = "gpt-5.4"
service_tier = "fast"
- Run:
RUST_LOG=debug codex exec "Reply with OK only."
- Observe that Codex CLI uses websocket transport to
/backend-api/codex/responses.
- Inspect the first outbound websocket
response.create payload:
service_tier is not present.
- If
service_tier: "fast" is injected directly into the websocket JSON request, the backend returns Unsupported service_tier: fast.
- On direct websocket probes with the same ChatGPT auth/account, the terminal
response.completed.response.service_tier is default on the tested accounts.
What is the expected behavior?
One of these should be true:
service_tier = "fast" should actually request/select fast tier when the account is entitled to it, or
- Codex CLI should reject or warn that
fast is unsupported in this auth mode, or
- The docs/config behavior should explicitly clarify which plans/entitlements are expected to return
fast.
Additional information
- The websocket transport itself appears to work fine.
- The issue is specifically about how
fast is requested, interpreted, or documented in ChatGPT-authenticated CLI mode.
- If needed, I can provide redacted websocket header / first-event captures.
What version of Codex CLI is running?
codex-cli 0.113.0What subscription do you have?
Tested with ChatGPT Plus and ChatGPT Team accounts.
Which model were you using?
gpt-5.4What platform is your computer?
Linux 6.6.87.2-microsoft-standard-WSL2 x86_64 unknownWhat terminal emulator and version are you using (if applicable)?
Windows Terminal (WSL),
xterm-256colorWhat issue are you seeing?
service_tier = "fast"appears ineffective or at least unclear in ChatGPT-authenticated Codex CLI websocket mode.What I observed:
wss://chatgpt.com/backend-api/codex/responses.response.createwebsocket frame, I don't see aservice_tierfield in the JSON payload.service_tier: "fast"is forced directly into the websocket JSON request, the backend responds with an error like:{"type":"error","status":400,"error":{"type":"invalid_request_error","message":"Unsupported service_tier: fast"}}response.completed.response.service_tiercomes back asdefaulton the tested Plus and Team accounts.So from the outside it looks like:
service_tier = "fast"in CLI config doesn't have an obvious effect in ChatGPT-auth mode, orfastrequires a specific entitlement/plan, but that isn't clear from the current behavior.What steps can reproduce the bug?
codex-cli 0.113.0with ChatGPT auth./backend-api/codex/responses.response.createpayload:service_tieris not present.service_tier: "fast"is injected directly into the websocket JSON request, the backend returnsUnsupported service_tier: fast.response.completed.response.service_tierisdefaulton the tested accounts.What is the expected behavior?
One of these should be true:
service_tier = "fast"should actually request/select fast tier when the account is entitled to it, orfastis unsupported in this auth mode, orfast.Additional information
fastis requested, interpreted, or documented in ChatGPT-authenticated CLI mode.