Voice Mode in Codex, OpenCode, Antigravity and Claude Code: Which CLI Has One?
We checked five coding agent CLIs and two apps on October 13, 2026. Codex CLI and oh-my-pi hold a spoken conversation, Claude Code and Antigravity CLI only dictate into the prompt, OpenCode has nothing built in. How to start each one, where the audio goes, and what voice costs in tokens.
People type "codex voice mode", "opencode voice mode" and "antigravity voice mode" into Google, and the answers they find mix two different things under the same name. So we opened each CLI installed on our build machine on October 13, 2026, read its own command list, and checked it against the vendor's documentation of the day.
Two words first, because the whole answer depends on them.
Dictation is one way. You speak, the words land in the prompt, you press Enter, and you read the answer on screen.
Voice mode is two way. You speak, the agent does the work, and the answer is spoken back to you. You can keep your eyes off the terminal.
The short answer
| Tool | Version checked | Dictation into the prompt | Spoken replies | How to start |
|---|---|---|---|---|
| Claude Code | 2.1.296 | Yes | No | /voice |
| Codex CLI | 0.162.1 | Not as a separate mode | Yes | /voice |
| OpenCode | 1.19.0 | Plugin only | No | none built in |
| Antigravity CLI | 1.3.4 | Yes | No | /voice |
| oh-my-pi | 18.1.2 | Yes, on the device | Yes | /live |
| Paseo (app) | docs of the day | Yes | Yes | voice mode in the app |
| T3 Code (app) | repository of the day | Yes, iOS app | No | microphone in the composer |
The rest of this page is the detail for each line, then the question that comes up right after: does talking to an agent cost more tokens than typing to it.
Claude Code: dictation, not a conversation
Claude Code has voice dictation (version 2.1.69 or later). You turn it on once with /voice, and it stays on across sessions:
/voice
Voice mode enabled (hold). Hold space to record. Dictation language: en (/config to change).
Hold Space while you speak and release it to stop. Your words appear in the prompt as you talk, dimmed until the transcript is final, and you can mix typing and dictation in the same message. If you prefer not to hold a key, /voice tap starts recording on a first tap and sends the prompt on the second one, as long as the transcript has at least three words. The key is the voice:pushToTalk binding, and you can move it to a modifier combination such as meta+k in ~/.claude/keybindings.json.
The limits are written in the voice dictation documentation. The audio is streamed to Anthropic's servers for transcription, not processed locally. It needs a claude.ai login: with an Anthropic API key, Bedrock or another cloud provider, /voice is an unknown command. It needs a local microphone, so it does not work in SSH sessions or in cloud sessions. The dictation language follows the language setting, with 20 languages supported and English as the fallback.
What it does not do is speak. Claude answers in text, like always. The Claude app has a real voice mode, in beta on mobile, desktop and the web, but Anthropic's voice mode help page says it plainly: in Claude Cowork and Claude Code, dictation is available but voice mode isn't.
Codex CLI: a real voice conversation with /voice
This is the one most people are looking for, and the one the documentation is the least clear about.
OpenAI's voice page for Codex describes ChatGPT Voice, powered by GPT-Live: a spoken conversation you open on a Codex task in the ChatGPT desktop app, or through Codex on iOS once the phone is paired with a desktop host. It lists the Plus, Pro, Business, Edu and Enterprise plans, one voice chat active at a time, and a separate dictation that only turns speech into prompt text. It does not mention the CLI.
The CLI has its own. In codex-cli 0.162.1, the list of slash commands (in the open source repository and in the installed binary) contains /voice, described as "start or stop voice; use /voice settings to choose a voice". You can confirm the feature is on in your install:
codex features list | grep realtime
# realtime_conversation stable true
Inside a session, /voice starts a realtime conversation on the current thread. You speak, Codex answers out loud, and captions of both sides scroll in the terminal. The keymap has an action to start or stop the conversation and another to mute your microphone, both rebindable. The CLI refuses in three cases, with a message for each: before the first message of a conversation ("Start a conversation before using voice mode"), inside a side conversation, and on a build without the audio stack ("Voice requires macOS, an MSVC-based Windows build, or a glibc-based Linux build").
Two models are at work during that conversation: a realtime voice model that talks with you, and the Codex thread that does the work. The voice side passes your requests to the thread, which the source calls a handoff, and speaks back what comes out. Keep that in mind for the token section below.
OpenCode: nothing built in
OpenCode 1.19.0 has no voice command and no dictation. The only "speech" strings in its binary are the descriptions of speech models in its provider catalog, which you could call from your own code, not a way to talk to OpenCode.
The community fills the gap. opencode-voice is a plugin that dictates into the OpenCode prompt: Ctrl+X V starts recording, Enter stops it and inserts the transcript, and you choose between local Whisper, OpenAI, ElevenLabs or the Handy app for transcription. Its README is honest about its state: prerelease software, Linux x64 only, experimental microphone capture. It does not speak replies.
On macOS or Windows, the dictation built into the operating system works in any terminal, OpenCode included.
Antigravity CLI: dictation with /voice
Antigravity CLI has dictation, documented on its /voice page. /voice, its alias /record, or the F5 key starts it. The text lands in the prompt box and is not sent until you send it.
Three limits. It needs an interactive session and is disabled in --print mode. It is not available for business or enterprise accounts. And if you signed in before dictation shipped, transcription fails until you run /logout and sign in again.
The SSH case is handled better than most: run agy mic-serve on your own machine, open a reverse tunnel with ssh -R 24713:127.0.0.1:4713 <server>, and start the CLI on the server with ANTIGRAVITY_MIC=127.0.0.1:24713 agy. Your microphone then feeds the remote session. There is no spoken reply.
oh-my-pi: both, and the dictation stays on your machine
oh-my-pi (omp) is the only CLI here that does both, and its dictation never leaves the machine.
Speech-to-text is off by default. Turn it on in the settings (Speech group), then hold Space to record and release to transcribe. The model runs on the device: Parakeet TDT v3 by default, with Whisper sizes as alternatives for smaller machines. A setting decides when a dictation is sent: never, on release, on release with a complete sentence, or when you say "submit".
The conversation is /live, or Ctrl+L. The CLI describes it as "Codex-backed realtime voice mode", and the voice is picked in the settings (Live Voice). Separately, omp say reads any text aloud with Kokoro-82M, a speech model that also runs locally.
Paseo and T3 Code: voice in an app, not in a CLI
Two apps come up in the same searches.
Paseo runs a daemon that manages your coding agents, with desktop, mobile, web and CLI clients. It does dictation and voice mode conversations. Speech can run on your machine (Parakeet for speech-to-text, Kokoro for text-to-speech, ONNX models on the CPU) or through OpenAI, and the voice mode itself is a hidden agent session on Claude, Codex or OpenCode. The default local speech model is English only; another Parakeet model covers 25 European languages. We compared the rest of Paseo with AgentsRoom on the Paseo alternative page.
T3 Code has voice input in its iOS app: the transcription runs on the phone and fills the draft, it never sends anything by itself. No spoken replies.
Does voice mode use more tokens?
This is the question right behind "does it exist", and it has a different answer for each tool.
- Claude Code dictation: no. Anthropic's documentation says transcription does not consume Claude messages or tokens and does not count toward the limits shown in
/usage. What you dictate becomes a normal prompt and costs what the same typed prompt costs. - Voice mode in the Claude app: it counts toward your regular usage limits, like text, according to Anthropic's help page.
- Codex CLI
/voice: a realtime voice model runs next to the Codex thread for as long as the conversation is open. OpenAI's pages do not say how a voice conversation is counted against Codex limits. We did not find a number, so we do not give one. - Antigravity CLI: dictation only, and the documentation does not say how it is counted.
- oh-my-pi: the on-device dictation costs no tokens and sends nothing.
/livegoes through Codex's realtime voice.
The rule underneath is the same everywhere: the model that does the work reads text. A spoken turn is billed like a typed turn. What changes your bill is the number of turns and the depth of the session, and voice tends to produce more turns, shorter ones. We made the same point about phones in does Claude Code Remote Control use more tokens.
What AgentsRoom does next to these
Voice Mode in AgentsRoom takes the other route: one spoken conversation that does not depend on which CLI you run.
It works on the terminal, not on the CLI. You open it on an agent that is already running. Your turn is transcribed and sent into that agent's terminal as your message, the agent works in its own session, and its reply is read out loud in the voice you picked. Hands-free reopens the microphone after each reply. The language is detected. It is the same for Claude Code, Codex, GitHub Copilot CLI, Cursor and the 10 other agent CLIs AgentsRoom runs, in the desktop app on macOS, Windows and Linux.
The token overhead is small and you can see it: on the first spoken message, the agent receives a short preamble asking for a spoken reply of two to five sentences, without markdown or file paths read aloud, then a reminder every five messages. The speech itself runs on our backend and is metered in voice credits shared with dictation, or on your own OpenAI API key.
For plain dictation there is a microphone button in the composer, described on the voice dictation page. The voice built into a CLI is still yours to use in its terminal: the two do not exclude each other.
How to check on your own machine
Versions move fast, and this page will age. Here is how to check each line of the table in a minute:
claude --version # then /voice in a session
codex --version # then: codex features list | grep realtime
opencode --version # no voice command in the help
agy --version # then /voice in a session
omp --version # then the Speech settings, and /live
If /voice answers "Unknown command" in Claude Code, you are signed in with an API key or a cloud provider, not with a claude.ai account. If realtime_conversation is missing from the Codex list, your CLI is older than the one we checked.
FAQ
Does Codex CLI have a voice mode?
Yes. In codex-cli 0.162.1, the /voice command starts a spoken conversation on the current thread: you talk, Codex answers out loud, and captions of both sides appear in the terminal. /voice settings picks the voice. It needs a conversation already started, does not work in side conversations, and runs on macOS, Windows and Linux builds that support it. OpenAI's own voice page documents ChatGPT Voice in the ChatGPT desktop app and in Codex on iOS, not the CLI command, so we checked the CLI itself.
Does Claude Code have a voice mode?
Claude Code has voice dictation, not a spoken conversation. Run /voice, then hold Space while you speak (or use /voice tap) and the transcript lands in the prompt. Claude still answers in text. It needs a claude.ai login and a local microphone, so it does not work with an API key, in SSH sessions or in cloud sessions. Anthropic says the voice mode of the Claude app is not available in Claude Code.
Does OpenCode have a voice mode?
Not built in. OpenCode 1.19.0 has no voice command and no dictation. A community plugin, opencode-voice, adds dictation into the prompt with Ctrl+X V, but it is prerelease software and runs on Linux x64 only. Otherwise you use the dictation of your operating system.
Does Antigravity CLI have a voice mode?
It has dictation. /voice, or its alias /record, or the F5 key, turns your speech into text in the prompt box without sending it. It needs an interactive session, is disabled in --print mode, and is not available for business or enterprise accounts. Over SSH, agy mic-serve forwards the microphone of your own machine to the server. There is no spoken reply.
Does Claude voice mode use more tokens?
It depends which voice you mean. Claude Code dictation does not consume Claude messages or tokens and does not count toward the limits in /usage, according to Anthropic's documentation: what you dictate becomes a normal prompt. Voice mode in the Claude app counts toward your regular usage limits, like text. In both cases the model sees text, so a spoken turn costs what the same typed turn costs, and the real driver is the number and depth of turns.
What is the difference between voice dictation and voice mode?
Dictation is one way: you speak, the words land in the prompt, and you read the answer on screen. Voice mode is two way: you speak, and the answer is spoken back to you. Claude Code and Antigravity CLI dictate. Codex CLI and oh-my-pi do both. OpenCode does neither without a plugin.
Download AgentsRoom
Run all your AI agents, on all your projects, from a single window.
Companion app: monitor your agents on the go
Bring your own: Claude, Codex, Antigravity CLI, or other AI provider.
Push bugs and requests straight to your public backlog.
Keep reading
Does Claude Code Remote Control Use More Tokens? And Does Codex Have One?
Two questions people type into Google since Anthropic shipped Remote Control: does driving a Claude Code session from your phone cost more tokens, and is there an equivalent for Codex. Short answers: no, a turn is a turn wherever you type it, and yes but only half of it exists. Here is what Remote Control actually is, how to measure the token question yourself in four commands, what codex remote-control does today, and how a mobile remote that never talks to a provider changes the math.
Read the articleHow Fast Is Claude Code? Tokens per Second, Measured on 20,000 Turns
Claude Code never prints its output speed, but every session transcript carries what you need to compute it. We ran a 40-line script over 319 of our own sessions, 20,408 turns and 12 million output tokens: Opus 5 streams at a median 63 tokens per second, Opus 5.5 at 95, Sonnet 5 at 77, and a short answer is always slower than a long one. Method, script, numbers, and what fast mode changes.
Read the articleWhat Are Tokens in Claude and How Do They Work? We Counted 3.8 Billion
A token is a piece of a word, and Claude counts four kinds of them: input, cache writes, cache reads and output. We counted 30 days of our own Claude Code sessions, 3.8 billion tokens: 98% were the conversation being re-read from the cache, 0.3% were what Claude wrote. What each kind costs, why a session gets heavier with every turn, and what the 5-hour window measures.
Read the article