Skip to content

feat: Add a voice input mode #418

Closed
Closed

Description

@ercbot

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

Activity

  1. JohnnyBonk commented on Apr 19, 2025

    @JohnnyBonk

    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.

  2. doggy8088 commented on Apr 20, 2025

    @doggy8088

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

  3. tibo-openai commented on Apr 21, 2025

    @tibo-openai
    Collaborator

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

  4. JohnnyBonk commented on Apr 21, 2025

    @JohnnyBonk

    @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

    Image
  5. ercbot commented on Apr 21, 2025

    @ercbot
    Author

    @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?

  6. ISaidUSaid commented on May 18, 2025

    @ISaidUSaid

    +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 :) :) :)

  7. codex-maintainers commented on Aug 7, 2025

    @codex-maintainers

    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.

  8. nafg commented on Sep 29, 2025

    @nafg
  9. alexanderbeckerdev commented on Oct 9, 2025

    @alexanderbeckerdev

    +1 bump

  10. jonathanlal commented on Oct 30, 2025

    @jonathanlal

    bump

  11. dmugtasimov commented on Nov 2, 2025

    @dmugtasimov

    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?

  12. etraut-openai commented on Nov 2, 2025

    @etraut-openai
    Contributor

    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.

  13. RogelioRichmanAstronaut commented on Apr 1, 2026

    @RogelioRichmanAstronaut

    we need this back please for the CLI!

  14. arjuna-dev commented on Apr 2, 2026

    @arjuna-dev

    This feature was already implemented and very useful but was removed here: #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

  15. arjuna-dev commented on Apr 2, 2026

    @arjuna-dev

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

  16. LukeLIN-web commented on Apr 12, 2026

    @LukeLIN-web

    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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions