feat: Add a voice input mode

Resolved 💬 16 comments Opened Apr 19, 2025 by ercbot Closed Aug 7, 2025
💡 Likely answer: A maintainer (tibo-openai, collaborator) responded on this thread — see the highlighted reply below.

The speed at which the AI can work means that human typing speeds might be the slow down for conveying prompts. People already use 3rd party transcription apps like SuperWhisper to convey instructions quickly (see the original vibe coding tweet).

But I think this would be a great feature for codex, especially since there is 1st party support for realtime transcription now via the OpenAI Realtime API.

https://platform.openai.com/docs/guides/realtime-transcription#handling-transcriptions

It would work something like:
codex --voice-mode

(colloquially --vibe-mode)

It would start an interactive session same as it does now but with a persistent connection to the realtime API and you can use a push to talk key (Space by default?, but configurable) to provide input / interrupt the AI

Willing to work on a PR for this

View original on GitHub ↗

16 Comments

JohnnyBonk · 1 year ago

1 Zillion PERCENT AGREE!!! ive been waiting for this with cline, claude code, roo and none of them have it which shocks me because the transcription models have gotten so good and are cheap.

doggy8088 · 1 year ago

The transcription models will have significant quality differences across different languages.

tibo-openai collaborator · 1 year ago

@ercbot Before working on the PR, could you describe briefly here how you think this could be implemented inside the terminal cli?

JohnnyBonk · 1 year ago

@tibo-openai I dont know exactly how because its in the terminal, but as a vibe coder, I would love a /speak command which then connects to the whisper api, prompts you to start speaking, you can hit a certain key to stop and then you can see your speech to text translated which you can send off. also theres a nice feature in roo code that tries to improve whatever you said for grammar and technical correctness which you can see with that starry icon

<img width="311" alt="Image" src="https://github.com/user-attachments/assets/7d0a246b-e051-4c6a-b047-31022e48ef4c" />

ercbot · 1 year ago

@tibo-openai

after looking at the implementation in the TerminalChatInput component here is an outline of how i'd implement the voice input:

Two ways to trigger it

  1. --speak flag on the codex run command, launches the CLUI with recording on
  2. /speak command in the CLUI which toggles the recording status

For both we could add an optional flag to specify a language code supported the by the model (en, zh, fr, etc.)

When recording:

  • A red [REC] indicator appears at the front of the input box
  • Text is streamed from the transcription model to the input box, the model doesn't do as you speak but as soon as the VAD detects you stop speaking the model sends the transcription very quickly
  • Pressing enter sends the recorded text, and pauses any recording until the input box opens again where it will be turned on again (this allows you to stay in the flow of speaking input without having to type /speak everytime)
  • Pressing any other key automatically stops the recording you can make edits (useful if you're being more precise and editing your responses or in a noisy environment for instant)

What do you think?

ISaidUSaid · 1 year ago

+1000 this - I have a dream of coding while surfing wearing Shokz OpenSwim Pro...do some coding, catch a wave while codex is working....do some more coding as I paddle out and wait....catch a wave while codex is coding :) :) :)

codex-maintainers · 11 months ago

Thanks for the suggestion! We're primarily focused on the native/Rust implementation of Codex CLI and would love to see if this feature is still relevant on the latest version. If so, we'd be happy to consider a PR to the codex-rs/ implementation.

nafg · 9 months ago
alexanderbeckerdev · 9 months ago

+1 bump

jonathanlal · 8 months ago

bump

dmugtasimov · 8 months ago

Anyone know why it is marked "closed this as completed". Is it implemented? Can someone give a link to an official documentation describing the feature?

etraut-openai contributor · 8 months ago

I don't know why this was initially closed. The team did a pass over all bugs at the time that the earlier TypeScript version of codex was retired, so it's possible this was part of that cleanup pass.

There are other open feature requests that cover this feature, so if you'd like to express your support for this enhancement, please submit your upvote here for the CLI and here for the IDE extension.

RogelioRichmanAstronaut · 3 months ago

we need this back please for the CLI!

arjuna-dev · 3 months ago

This feature was already implemented and very useful but was removed here: https://github.com/openai/codex/pull/16114

I'd love to see it back. For now I'm downgrading to version 0.117.0 to keep using the feature:

npm install -g @openai/codex@0.117.0

Enable with:

codex features enable voice_transcription

arjuna-dev · 3 months ago

Hi, @etraut-openai is seems that there is no clear issue to upvote this feature request?

  • Current ticket seems the appropriate one and has the most votes but it is closed. Maybe it would make sense to just reopen it.
  • The suggested link to upvote for the cli is marked as a duplicate of #3000: https://github.com/openai/codex/issues/6088
  • #3000 is not really specific to the cli, in fact when they say "Codex panel" it seems they mean the vscode extension: https://github.com/openai/codex/issues/3000
  • #3000 links back to this one for the cli but this one is closed
  • #16404 is closed as duplicate of #10060 but it doesn't seem to have something to do with that one...
  • The only open issue which seems to be on-spot is #14630 but it is quite new only has 3 votes and does not count the other votes spread around other issues (ideally mark that as duplicate of this one and re-open this one?)
LukeLIN-web · 3 months ago

How to use it ? I find Voice dictation

Use your voice to prompt Codex. Hold Ctrl+M while the composer is visible and start talking. Your voice will be transcribed. Edit the transcribed prompt or hit send to have Codex start work.
But cannot work ctrl + M