# Codex voice input: how to dictate prompts into Codex CLI

Canonical: https://vibetyper.com/blog/codex-cli-voice-input
Description: Codex /voice starts a spoken conversation, not dictation. Dictate prompts into Codex CLI, over SSH too, with Vibe Typer. Free to start, no card.
Published: 2026-10-23T00:00:00.000Z
Updated: 2026-10-23T00:00:00.000Z
Tags: Codex, Voice Typing, Agentic Coding, Productivity

If you searched for "Codex voice", "Codex CLI voice input" or "Codex dictation", here is the short version, checked against the Codex source in October 2026.

Codex CLI has a `/voice` command, but it starts a voice *conversation*, not dictation. The command's own description is "start or stop voice; use /voice settings to choose a voice". If what you want is to speak a long prompt, see it as text, fix a file name and then press enter, that is a different job.

That job belongs at the operating system, where dictation types into the Codex prompt the same way your keyboard does. [Vibe Typer](/downloads) does that on Linux, Windows and macOS, and there is an iPhone keyboard too. Hold a global hotkey, speak the prompt, release, and clean text lands in whatever has focus: the Codex TUI, your editor, a pull request, Slack.

## What Codex `/voice` actually does

From the Codex CLI source, so you can check each line:

| Item | What it does |
| --- | --- |
| `/voice` | "Start or stop a voice conversation." `/voice settings` chooses the voice |
| `F8` | The default key to start or stop a voice conversation. You can rebind it |
| Microphone toggle | A separate action mutes the microphone during a conversation |
| Supported builds | "Voice requires macOS, an MSVC-based Windows build, or a glibc-based Linux build." |
| Side conversations | "Voice mode is unavailable in side conversations. Return to the main thread first." |
| A fresh session | "Start a conversation before using voice mode." |

A spoken conversation suits talking a problem through. The prompts that make agentic coding work are a different shape: long, specific, full of file names and constraints, and worth reading once before the agent acts on them.

## Where Codex voice can't help

- **Prompts you want to read first.** Voice mode is a conversation. Dictation gives you text in the prompt that you check and edit before you press enter.
- **Remote hosts and containers.** Voice records on the machine Codex runs on. Run Codex on a dev box over SSH, in a dev container or in Codespaces, and your microphone is on your laptop, not there.
- **Builds without voice.** If Codex shows "Voice requires macOS, an MSVC-based Windows build, or a glibc-based Linux build", voice is off for the build you are running.
- **Everything outside Codex.** Commit messages, pull request descriptions, review replies and tickets are all typed. `/voice` lives inside one TUI.

## Codex CLI with system-wide dictation

| If you want... | Codex alone | Codex with Vibe Typer |
| --- | --- | --- |
| Speak a long prompt and edit it before sending | Type it | Hold a hotkey, speak, read, press enter |
| Push-to-talk into the prompt | F8 starts a voice conversation instead | A global hotkey types into the prompt |
| Codex over SSH or in a container | No microphone on the remote host | Works, because your terminal is local |
| Cleanup of false starts | Manual editing | Magic Formatter cleans it before it is typed |
| Your repo, service and library names | Manual editing | A dictionary that learns your corrections |
| The same key outside Codex | Not available | Every app |

Nothing in your Codex config changes, so nothing breaks when Codex updates.

## How to set it up

1. Download Vibe Typer from the [downloads page](/downloads). On Linux, make the AppImage executable and launch it.
2. On a Wayland session, run the guided first-launch setup. It sets the device permissions the global hotkey needs, then asks you to restart.
3. Pick a global hotkey your terminal does not use. Leave F8 alone if you also use Codex voice conversations.
4. Start `codex`, focus the prompt, hold the hotkey, speak, and release.
5. Read what landed, then press enter.

### Getting insertion right in a terminal

Terminals do not accept text the way a browser does. Vibe Typer's **Automatic** insertion mode knows the common cases: `Ctrl + Shift + V` in known Linux terminals rather than `Ctrl + V`, and `Shift + Insert` for Konsole, Yakuake and the integrated terminals in VS Code and Cursor.

If your terminal is unusual, set a per-app rule in [text insertion and paste preferences](/docs/text-insertion-and-paste-preferences). **Always Type** simulates real keystrokes and skips the clipboard entirely.

## Dictating prompts Codex can act on

**Teach it your nouns.** Repository names, internal services, CLI flags and library names are the words a general speech model gets wrong and the words the agent needs right. Add them once in the [custom dictionary](/docs/custom-dictionary).

**Say the constraints.** What must not change is as useful to an agent as what must. Speaking makes it cheap to include.

**Let the formatter absorb the mess.** Magic Formatter removes the "um", the restarts and the mid-sentence corrections, so the prompt reads as what you meant.

**Review, then send.** A misheard file path in a chat message is a typo. A misheard file path in an agent prompt is a diff.

## Examples

### A failing test

> "The integration tests in the payments package started failing after the last dependency bump. Read the failing output, find which change broke them, and propose the smallest fix. Do not touch the public API."

### A small feature

> "Add a dry-run flag to the deploy script. It should print every command it would run and exit without changing anything. Update the deploy section of the README to match."

### After the change lands

Speak a rough summary of what changed and why, let Magic Formatter tidy it, and use it as the commit message or the pull request description.

## If Codex runs on another machine

Plenty of people run Codex on a dev box, in a container, or on a server they reach over SSH. A voice mode built into the agent records where the agent runs, and your microphone is not there. System-wide dictation is unaffected, because your terminal emulator is a local application and the keystrokes travel over the connection like any others. See [voice dictation over SSH and in dev containers](/blog/voice-dictation-over-ssh).

## Same hotkey, every agent

The same key works in [Claude Code](/blog/claude-code-voice-typing), [OpenCode](/blog/opencode-voice-typing-support), [Cursor](/blog/cursor-ai-voice-typing), your browser, GitHub and Linear. One habit rather than one voice feature per tool.

## Get started

Start on the free plan: 2,000 words and 20 AI operations a month, no card. [Download Vibe Typer](/downloads) and try it on your next Codex prompt.

## FAQ

### Does Codex CLI have voice input?

It has a voice conversation mode. `/voice`, or `F8` by default, starts or stops a spoken conversation, and `/voice settings` chooses its voice. There is no command that puts your speech into the prompt as text you can edit.

### Why does Codex say voice requires macOS, an MSVC-based Windows build, or a glibc-based Linux build?

The Codex build you are running cannot load its voice runtime, so voice conversations are off for that build. A system-wide dictation tool does not depend on how Codex was built.

### Does Codex voice work over SSH or in a container?

Voice records on the machine Codex runs on, so on a remote host or in a container there is usually no microphone to record from. Dictation on your own machine still works, because your terminal emulator is a local app. See [voice dictation over SSH](/blog/voice-dictation-over-ssh).

### Can I dictate code directly into Codex?

You can, but prompts are the better use: describe the change you want and let the agent write the code.

### Does this work with Codex on Linux?

Yes. Vibe Typer ships one AppImage for modern 64-bit distributions and runs on Wayland and X11. Automatic insertion uses the right paste shortcut for known terminals, and Always Type covers any terminal that misbehaves.

### How much does Vibe Typer cost?

Free for 2,000 words and 20 AI operations a month, with no card. Pro is $10/month, or $8/month billed annually.
