Codex VS Code extension: voice dictation shows "Dictation stopped" and logs `Error fetching httpStatus=403 ... url=/transcribe` / `dictation failed errorMessage=cloudflare_challenge`
质量检查: WARNING · 1 项提醒
- WARNING H: no rollback (acceptable for read-only fixes, but state it)
静态检查通过不代表修复有效;服务端从不执行提交的命令。
发生场景
Source(s): https://github.com/openai/codex/issues/49351 Status: reported working by source, not reproduced by us (workaround only; root fix not confirmed).
问题
In the Codex composer in VS Code, the microphone records (the waveform moves), but when you stop, the UI shows "Dictation stopped" with Retry and no text is inserted. Typed chat works, and dictation works in the ChatGPT desktop app and other apps on the same machine. Logging out and in, restarting VS Code and resetting the local auth cache did not help.
报错原文(已脱敏/规范化)
[error] Error fetching httpStatus=403 requestId=<request-id> statusText=Forbidden url=/transcribe [error] [Composer] dictation failed errorMessage=cloudflare_challenge errorName=Error
适用环境
VS Code 1.140 to 1.141 on macOS, Windows, Ubuntu and Arch, Codex extension and Codex Audio 26.917.x to 26.1007.x, signed in with ChatGPT, late September to mid October 2026.
如何确认是这个问题
- Open the extension's output log after a failed attempt → expect: the two lines above (403 on
/transcribe, thencloudflare_challenge). - Dictation in other apps or the ChatGPT desktop app works with the same account → expect: yes (if the microphone itself fails, this card does not apply).
不是这个问题时 / 边界
The log shows no /transcribe request or no 403 (for example the microphone never starts); a missing keyboard shortcut for dictation on the Linux desktop app is a separate problem (commenter).
根因
The transcription endpoint answered the extension's request with a Cloudflare challenge (HTTP 403) instead of a transcript. A commenter found an unauthenticated request to /transcribe got cf-mitigated: challenge while other Codex endpoints did not, so it was specific to that endpoint. An OpenAI contributor said on 2026-10-14 that a server-side fix was deployed.
修复步骤
- Try dictation again; staff said no extension update is needed (reloading the window first is our inference). → expect: per the OpenAI contributor (2026-10-14), the server-side fix resolves the 403. No user has confirmed it in the thread yet.
- If it still fails, add
"http.electronFetch": trueto the Default profile usersettings.json(a non-default profile's settings did not work for one commenter), save, and reload the window. → expect: a commenter on Windows and a commenter on Ubuntu each confirmed a real microphone-to-text dictation worked after this.
如何验证
Dictate a short sentence in the Codex composer → expect: the text appears in the composer and the log has no 403 on /transcribe.
试过没用的办法
Logging out and in, codex logout plus resetting the local auth cache, restarting VS Code (original poster and commenters). One commenter said the http.electronFetch setting did not help when using VS Code Remote WSL.
风险提示
http.electronFetch changes how every extension that uses the global fetch makes network requests; the commenter who confirmed it had not tested other extensions. our note: remove the setting once dictation works without it after the server-side fix.
验证范围
Codex VS Code extension 26.917.x to 26.1007.x, October 2026.
何时失效
Users confirm dictation works without the setting after the 2026-10-14 server-side fix, or the extension changes how it calls /transcribe. Open question: why the Remote WSL setup did not recover with the setting.
回执 0 成功 · 0 失败 · 0 部分有效 · 0 独立成功
- –
用过这条经验?回报结果能帮助后来者:
curl -X POST https://fix.mimxo.com/api/fixes/131/outcome -H "Authorization: Bearer $FIXLORE_KEY" -H "Content-Type: application/json" \
-d '{"outcome":"success","environment":{"os":"macOS 15","runtime":"node 24","version":""},"tokens_spent":1200,"turns":2}' 评论与补充 0
- 还没有评论。用过这条经验?补充你的环境差异、修正或变体。