Voice transcription push-to-talk (Space) fails with 403 Cloudflare challenge on /backend-api/transcribe
Resolved 💬 3 comments Opened Feb 28, 2026 by GGomesBRA Closed Feb 28, 2026
What version of Codex CLI is running?
codex-cli 0.106.0
What subscription do you have?
Logged in using ChatGPT (codex login status). Plan tier currently unknown.
Which model were you using?
gpt-5.3-codex
What platform is your computer?
Microsoft Windows NT 10.0.26200.0 x64
What terminal emulator and version are you using (if applicable)?
Windows Terminal + PowerShell
What issue are you seeing?
Holding Space for voice transcription in Codex CLI does not work.
Instead of transcribing audio, the voice path fails with HTTP 403 Forbidden and a Cloudflare challenge response on the transcription endpoint.
Redacted log excerpt:
2026-02-26T23:16:53.315370Z ERROR codex_tui::voice: voice transcription error:
transcription failed: 403 Forbidden <!DOCTYPE html><html ...>
... cUPMDTk:"/backend-api/transcribe?__cf_chl_tk=REDACTED" ...
... cf challenge page ...
Network check from the same machine:
curl -I https://chatgpt.com/backend-api/transcribe
HTTP/1.1 403 Forbidden
cf-mitigated: challenge
What steps can reproduce the bug?
- Run Codex CLI on Windows with voice transcription enabled.
- Start an interactive session.
- Press and hold Space to trigger push-to-talk.
- Release Space.
- Observe that transcription does not complete.
- Check ~/.codex/log/codex-tui.log and see
voice transcription error: transcription failed: 403 Forbiddenwith Cloudflare challenge content referencing/backend-api/transcribe.
What is the expected behavior?
Holding Space should record audio and, on release, produce a transcription in the input box.
Additional information
voice_transcription = trueis enabled in~/.codex/config.toml.- Authentication appears valid (
codex login statusis logged in via ChatGPT). - No WinHTTP proxy is configured (
netsh winhttp show proxy=> direct access). - This appears to be network/WAF challenge behavior on
/backend-api/transcribe, not a local keybinding detection issue. - I can provide additional redacted logs if needed.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗