[macOS] Dictation stays silent until AirPods are selected explicitly; default microphone routing may ignore macOS
Nobody has claimed this yet.
- 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(build25G83) - 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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