openai / openai/codex

[macOS] Dictation stays silent until AirPods are selected explicitly; default microphone routing may ignore macOS

Open
#44,993 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

App version and platform
  • Codex / ChatGPT desktop app: 26.908.40834
  • macOS: 26.6.2 (build 25G83)
  • MacBook Pro with AirPods Pro connected
Observed behavior

macOS Sound → Input had AirPods Pro selected, and its input-level bars responded to speech. Microphone permission for the installed app, listed as ChatGPT in macOS, was enabled.

Starting composer dictation in Codex entered the recording state, but the waveform stayed flat and speech was not captured.

The user then explicitly selected AirPods Pro in Settings → Voice → General → Microphone, stopped dictation, and started a fresh recording. The user confirmed that dictation worked afterward.

Expected behavior

The System default microphone option should follow the input selected in macOS, including when switching between a headset and the built-in microphone. Users should not need to maintain a separate manual microphone selection in Codex whenever they change devices.

If the selected input cannot provide audio, the app should make the active device and any capture error clear instead of silently showing a flat waveform.

Confirmed workaround

Explicitly select the working microphone in Settings → Voice → General → Microphone, then start a new dictation recording.

Possible cause and verification limits

Read-only inspection of the installed app suggests that the null / System default selection first tries to find the built-in microphone by name, before falling back to the system default. Explicit selection instead requests the chosen device. This could make Codex capture a different input from the one selected and tested in macOS.

The app's original microphone setting was not independently recorded before the workaround, so this is a suspected cause, not a confirmed runtime trace. The confirmed findings are the working macOS input, enabled permission, flat Codex waveform, and successful explicit-selection workaround.

Suggested maintainer reproduction: select AirPods Pro as the macOS input, choose System default in Codex, and compare capture with explicitly selecting AirPods Pro. Also test changing the macOS default between recording sessions.

No audio recordings, conversation contents, account identifiers, or raw logs are attached.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test is named. Begin with the suggested reproduction: select AirPods Pro as the macOS input, choose System default in Codex, and compare it with explicit AirPods Pro selection, including changing the macOS default between sessions. Done means System default follows macOS input changes and capture failures identify the active device instead of showing a silent waveform.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos
Domain
audio-video-rtc, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.