Persistent "Unable to transcribe audio" issue
Open 💬 14 comments Opened Apr 18, 2026 by rolux
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
What version of the Codex App are you using (From “About Codex” dialog)?
Version 26.415.32059 (1789)
What subscription do you have?
Plus
What platform is your computer?
Darwin 24.6.0 arm64 arm
What issue are you seeing?
Codex Desktop voice dictation is unreliable and usually fails with a popup saying Unable to transcribe audio.
What steps can reproduce the bug?
- macOS microphone permission for Codex is enabled
- live microphone levels appear in both macOS Sound settings and inside Codex
- transcription sometimes works, but usually fails with only the generic popup
Unable to transcribe audio - the microphone button path feels flaky, the first click often doesn't register and only causes a brief flicker of nearby UI elements (selected model and reasoning level dropdowns)
- holding ^M to dictate seems seems somewhat more reliable, but also fails regularly
- failures reproduce across threads and still occur after app restart or full reboot
- local Codex logs under ~/.codex/logs_2.sqlite do not show the underlying transcription error
- in the ChatGPT desktop app, using the same account, transcription works fine
What is the expected behavior?
Voice dictation should work reliably every time, like in previous versions of Codex
Additional information
_No response_
14 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
+1
Version 26.422.71525 (2210)
logged in codex with API key the error is failed to transcribe
I am seeing this same issue on macOS in Codex Desktop.
In-app bug report / thread ID:
019e032d-c890-73f3-830d-505a05e3c27cEnvironment:
26.429.61741(codex@26.429.61741)Darwin 25.4.0 arm64 arm26.4.1build25E25341.2.0Observed behavior:
Unable to transcribe audioRelevant local Codex Sentry breadcrumb from the failure at
2026-05-07 10:20:33 CST:This looks like the dictation request is reaching the transcription path, but the remote transcription service is returning temporary unavailability rather than Codex failing to access the microphone locally.
Same error on Windows 10 Pro
Codex 26.519.21041
Subscription: Pro 100
Same error on Mac M1
Codex Version 26.527.31326 (3390)
Subscription: Pro
Additional report from macOS Codex Desktop today.
Observed UI symptom:
Context:
User impact/request:
Up. Fix please
Got the same error "Unable to transcribe audio"
Mac M1
Subscription Pro
Got the same error "Unable to transcribe audio"
Mac M4
Subscription Pro
Same here: "Unable to transcribe audio"
Mac M1
Subscription Pro
Got the same error "Unable to transcribe audio"
Mac M4
Subscription Pro
Mine is up and running again - strange that I didn't do anything (didn't even update app)
Same
<img width="236" height="47" alt="Image" src="https://github.com/user-attachments/assets/a3d50a0b-5596-4ce9-9319-ac968fe59c0e" />
I ran into this issue on Codex Desktop for Windows. Dictation kept failing with “unable to transcribe audio.” My mic was not the real problem.
What we found: Codex was trying to send the audio to its transcription service, but instead of getting a normal transcription response back, it was getting a Cloudflare “enable JavaScript/cookies” challenge page. In plain English: Codex’s built-in browser/session got into a bad login/cookie state, so the transcription request was being blocked before it could actually transcribe anything.
The fix that worked for me was to fully reset Codex’s local web/session profile. This makes Codex rebuild its internal browser state. You will probably have to sign in again after doing this.
On Windows, open PowerShell and run:
Get-Process Codex -ErrorAction SilentlyContinue | Stop-Process -Force
$stamp = Get-Date -Format "yyyyMMdd-HHmmss"
$profile = "$env:APPDATA\Codex\web\Codex"
Rename-Item $profile "Codex-web-backup-$stamp"
explorer.exe "shell:AppsFolder\OpenAI.Codex_2p2nqsd0c76g0!App"
After Codex reopened and I signed back in, dictation started working again on the first try.
Notes:
________________________________________________________________________________________________________________________
UPDATE:
This was not actually fixed by the earlier cleanup/reset. Clearing Codex’s local web/profile/cache state made dictation work for a little while, but then the same problem came back. It went back to needing multiple clicks, refreshes, or just failing with “unable to transcribe audio.”
What we found after digging deeper:
The failure does not look like a microphone problem. It looks like Codex Desktop sometimes uses the older
/backend-api/transcriberoute, and that route can return a Cloudflare HTML challenge page instead of a real transcription response. When that happens, Codex reports it as a transcription failure.The local workaround that made it work again was to force Codex Desktop to use the streaming dictation path instead of the older
/transcribepath.What we did locally:
app.asar.In plain English: instead of letting Codex ask “should I use streaming dictation?”, we forced the answer to “yes.”
The two effective changes were basically:
n = A(L)->n = truet = oe(se)->t = trueAfter that, dictation started working on the first click again in repeated tests.
Important: this is not a real upstream fix. It is an unofficial local workaround that proves the issue is likely in Codex Desktop’s dictation routing/fallback behavior, not the user’s mic.
The real fix should probably be:
/backend-api/transcriberoute for desktop dictation when it is returning Cloudflare/HTML instead of transcription data.Short version: the earlier reset only helped temporarily. The issue came back. Forcing streaming dictation in the desktop app is what made it reliable again locally.
________________________________________________________________________________________________________________________
Update after more testing:
Forcing streaming dictation did not make the issue completely disappear, but it made the problem much less severe.
Before this workaround, Codex Desktop could get stuck failing indefinitely. I could click transcribe/send 15 times and it still would not go through, which meant I lost what I said.
After forcing streaming dictation on, I still occasionally get a failed attempt, but refreshing/retrying gets it to transcribe instead of being permanently stuck.
So the workaround is not a full fix, but it seems to change the failure mode from “completely unusable” to “intermittently flaky but recoverable.”
The original finding still stands: the old
/backend-api/transcribepath can return a Cloudflare HTML challenge instead of transcription data, and Codex reports that as “unable to transcribe audio.” Forcing the streaming dictation path avoids that failure much of the time, but there also appears to be a separate intermittent startup/recording issue where an attempt may fail before it reaches transcription.