Codex Desktop dictation fails in API-key auth mode because /backend-api/transcribe rejects API keys
What version of the Codex App are you using (From "About Codex" dialog)?
Version 26.429.30905
What subscription do you have?
API key auth mode. ChatGPT login is not available for this account/device because phone verification cannot be completed.
What platform is your computer?
macOS / Darwin arm64
What issue are you seeing?
Codex Desktop dictation fails when the app is authenticated with an OpenAI API key instead of a ChatGPT session. The user-facing error is the generic popup:
Unable to transcribe audio
This does not appear to be a microphone, input-volume, or network problem. The same machine can transcribe audio successfully through the public OpenAI audio transcription API using the configured API key.
Steps to reproduce
- Configure Codex Desktop to use API key auth.
- Do not log in with ChatGPT session auth.
- Open Codex Desktop on macOS.
- Use dictation.
- Dictation records audio but fails at transcription with
Unable to transcribe audio.
Observed behavior
Local investigation showed that Codex Desktop posts dictation audio to the ChatGPT backend transcription route:
https://chatgpt.com/backend-api/transcribe
When that route is called using the configured OpenAI API key as bearer auth, the backend returns:
{
"error": {
"message": "Unauthorized - Invalid access token",
"code": "unauthorized_unknown"
},
"status": 401
}
The desktop UI collapses this into Unable to transcribe audio.
Expected behavior
Dictation should work for Codex Desktop users authenticated with API keys. ChatGPT login should not be required for basic dictation if the configured API key can already call OpenAI transcription APIs.
Additional diagnostic evidence
- macOS microphone permission for Codex was reset and re-granted.
- Input volume was raised.
- Microsoft Teams was fully quit to avoid microphone contention.
- Direct network access to OpenAI APIs works.
- Direct transcription against the public OpenAI audio transcription API succeeds with the same configured API key and
gpt-4o-mini-transcribe. - A local workaround proxy was tested and confirmed working:
- Codex Desktop sends its existing
/transcribemultipart request to a local proxy. - The proxy injects
model=gpt-4o-mini-transcribe. - The proxy forwards the request to
https://api.openai.com/v1/audio/transcriptionsusing the configured API key. - Dictation works through that path.
Suggested fix
When Codex Desktop is in API-key auth mode, dictation should not send the OpenAI API key to chatgpt.com/backend-api/transcribe as if it were a ChatGPT backend access token.
Suggested implementation options:
- Route API-key-auth dictation directly to the public OpenAI audio transcription API (
/v1/audio/transcriptions) and include a transcription model such asgpt-4o-mini-transcribe. - Or update the Codex/ChatGPT backend transcription route so it accepts Codex API-key auth mode correctly.
Related issue
This is related to openai/codex#18460, but this report narrows the likely root cause to API-key auth mode and includes a confirmed workaround path.