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

ToolVersion checkedDictation into the promptSpoken repliesHow to start
Claude Code2.1.296YesNo/voice
Codex CLI0.162.1Not as a separate modeYes/voice
OpenCode1.19.0Plugin onlyNonone built in
Antigravity CLI1.3.4YesNo/voice
oh-my-pi18.1.2Yes, on the deviceYes/live
Paseo (app)docs of the dayYesYesvoice mode in the app
T3 Code (app)repository of the dayYes, iOS appNomicrophone 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. /live goes 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.

FreeDownload AgentsRoom

Companion app: monitor your agents on the go

Bring your own: Claude, Codex, Antigravity CLI, or other AI provider.

Get the extension
Chrome Web Store

Push bugs and requests straight to your public backlog.

Multiple projects
Multi-provider
Multiple agents
Live status
File diff & commit
Mobile companion
Live preview
Agent teams
Browser automation
Backlog-driven dev
Prompt Library
Skills Library
View all features

Keep reading