OpenCode voice input

OpenCode has no voice input of its own. These options do work.

As of October 2026, OpenCode’s documentation describes no voice or dictation feature, and a request to add speech-to-text to the TUI was closed as not planned. You can still talk to it: through a community plugin, your operating system’s dictation, your editor, or a dictation app that types into the terminal.

Source-reviewed

1. What OpenCode itself offers for voice

Nothing yet. OpenCode’s TUI, keybinds and ecosystem documentation describe no microphone, dictation or speech-to-text feature as of October 2026. In November 2025 a contributor proposed speech-to-text for the TUI, with keybind-triggered recording, a choice of Groq Whisper, OpenAI Whisper or local whisper.cpp, and insertion into the prompt. The maintainers closed the request as not planned on June 4, 2026.

So every voice option for OpenCode works from the outside: a plugin that adds commands to the TUI, or something that types into the terminal for you. Choose based on where OpenCode runs and where you want the audio processed.

2. The community opencode-voice plugin

@renjfk/opencode-voice is an MIT-licensed community plugin, updated as recently as September 2026, that adds speech-to-text and text-to-speech to the TUI. It captures the microphone with sox and transcribes locally with whisper.cpp’s whisper-cli and a model you download; the README’s example is ggml-large-v3-turbo-q5_0. You install it by adding it to the plugin list in ~/.config/opencode/tui.json.

Read two details before you install. It records on Ctrl+R, which OpenCode assigns to session rename by default, so the README sets session_rename to none and leaves renaming to /rename. And it requires an OpenAI-compatible LLM endpoint to clean up transcripts, so the transcribed text goes to that endpoint unless you point it at a local server such as Ollama. An optional mode sends the recording to an OpenAI-compatible speech-to-text API instead of running whisper.cpp locally.

  • macOS: brew install whisper-cpp sox, then allow the microphone prompt.
  • Linux and WSL2: sudo apt install sox libsox-fmt-pulse pulseaudio-utils build-essential cmake, then build whisper.cpp from source.
  • On WSL2, WSLg must be running; audio goes through PulseAudio because there is no /dev/snd.
  • Pick a microphone with /stt-mic and a language with /stt-language.

3. Use your operating system’s dictation in the terminal

macOS Dictation enters text anywhere you can type, including a terminal running OpenCode. Turn it on under System Settings → Keyboard → Dictation, place the cursor in the OpenCode prompt, press the Microphone key or your Dictation shortcut, and speak. Apple says you can check Keyboard settings to see whether general dictation is processed on your device, and Dictation stops after 30 seconds without speech.

On Windows, voice typing starts with the Windows logo key + H. Microsoft documents it as online speech recognition powered by Azure Speech services, so it needs an internet connection, a working microphone and a cursor in a text box. Say “press Enter” only when you want the prompt sent.

Neither knows your code. Expect file and function names to arrive as ordinary words, and read the prompt before OpenCode acts on it.

4. Compose long prompts in your editor with /editor

OpenCode’s /editor command, bound to Ctrl+X E, opens the editor set in your EDITOR environment variable for composing a message. For GUI editors such as VS Code, Cursor, Windsurf or Zed, OpenCode says to include --wait so the command blocks until you close the file, for example export EDITOR="code --wait" on macOS or Linux, or $env:EDITOR = "code --wait" in PowerShell.

That turns any dictation that works in your editor into OpenCode input. Dictate a multi-paragraph brief there, fix names and numbers with a real editor, close the file, and review the result in OpenCode. It is slower than speaking into the prompt, but useful for specs and bug reports you want to edit before the agent sees them.

5. On Windows, WSL or native changes your voice options

OpenCode recommends running it inside WSL on Windows for file-system performance and terminal support, installed in the distribution with curl -fsSL https://opencode.ai/install | bash, though it can also run directly on Windows. Its desktop app can connect to a server started in WSL with opencode serve.

Where OpenCode runs decides what a voice tool can do. A plugin inside WSL needs WSLg’s audio bridge to reach the Windows microphone. A Windows dictation tool types into the WSL window without any setup, but it cannot see the Linux processes behind that window, so anything that depends on knowing your project stops at the WSL boundary.

6. Speak into OpenCode with IraVoice

IraVoice 1.2.2 is a dictation app, not an OpenCode plugin. It types into whatever window has focus, so there is nothing to add to tui.json, no keybind to free up, and no LLM endpoint to configure. It runs on macOS 13+ on Apple silicon, Windows 10 or 11 (64-bit), and Linux (beta), recognizes speech on-device with NVIDIA Parakeet after a one-time model download, and works the same whether OpenCode runs locally, over SSH, or in WSL.

In the terminals IraVoice recognizes on a Mac (Terminal, iTerm2, Ghostty, Warp, kitty, Alacritty, WezTerm and Hyper) and on Windows (Windows Terminal, PowerShell, pwsh, cmd, WezTerm and Alacritty), it finds the Git project OpenCode is working in and types names the way the code spells them, so “get user by ID” becomes getUserById. Expect plain dictation without code names in three places: inside WSL, on Linux, where IraVoice is a beta, and in the OpenCode desktop app, which is not on the recognized list.

Hold Right Command on a Mac, Right Ctrl on Windows or Ctrl+Space on Linux, speak, release, and check the prompt; IraVoice does not press Enter unless you turn on auto submit. IraVoice Local is $79 once for one computer, after a free trial.

Decision guide

Which way to talk to OpenCode?

Pick by where OpenCode runs and how much setup you want to maintain.

If you needChooseWhy
Stay inside the TUI with local transcription@renjfk/opencode-voicewhisper.cpp runs locally; you maintain sox, a model and an LLM endpoint.
Nothing to install on a MacmacOS DictationIt types anywhere you can type; check Keyboard settings for on-device processing.
Long specs you want to edit first/editor plus dictation in your editorCompose in a full editor, then review in OpenCode.
One key across OpenCode and every other app, offlineIraVoiceTypes into the focused terminal and spells code names on Mac and Windows.
Code names while OpenCode runs on WindowsOpenCode in native Windows Terminal or PowerShellIraVoice may not see project names inside WSL.

Primary sources

Use the current documentation.

This guide was reviewed October 2, 2026. Product versions, settings, policies, and availability can change.

  1. GitHub: OpenCode issue #4695, Speech-to-Text Voice Input ↗

    The November 2025 feature proposal and its closure as not planned on June 4, 2026.

  2. OpenCode Docs: TUI ↗

    The /editor command, its Ctrl+X E keybind, and EDITOR setup with --wait for GUI editors.

  3. OpenCode Docs: Windows (WSL) ↗

    The WSL recommendation, installation inside WSL, and connecting the desktop app to a WSL server.

  4. GitHub: renjfk/opencode-voice ↗

    Community plugin README: whisper.cpp and sox setup, the Ctrl+R keybind conflict, the LLM endpoint requirement, WSL2 audio notes and STT commands.

  5. Apple: Dictate messages and documents on Mac ↗

    Turning on Dictation, shortcuts, the on-device processing check, and the 30-second silence stop.

  6. Microsoft Support: Use voice typing to talk instead of type on your PC ↗

    Win+H voice typing, online Azure Speech recognition, and its internet and text-box requirements.

Questions

What readers usually ask next.

Does OpenCode have voice input?

Not as of October 2026. OpenCode’s docs describe no dictation feature, and the speech-to-text feature request was closed as not planned in June 2026.

Is there an OpenCode voice plugin?

Yes, the community-maintained @renjfk/opencode-voice adds speech-to-text with local whisper.cpp and text-to-speech with Piper. It is not built by the OpenCode team.

Does the opencode-voice plugin send my words to the cloud?

Speech is transcribed locally by default, but the transcript goes to the OpenAI-compatible LLM endpoint you configure for clean-up. Point it at a local server such as Ollama to keep it on your machine. The optional STT API mode sends the audio itself to the speech-to-text API you configure.

How do I dictate into OpenCode on Windows?

Win+H voice typing works where Windows accepts the focus as a text box and needs internet. IraVoice types into Windows Terminal or PowerShell with code names; in WSL it dictates, but code names may not appear.

Why does the plugin need Ctrl+R?

It uses Ctrl+R to record, and OpenCode assigns Ctrl+R to session rename by default. The README sets session_rename to none in tui.json; renaming stays available through /rename.

Mac, Windows, and Linux

Try private, on-device dictation for yourself.

Hold one key, speak, and the words are typed where your cursor is. The 3-day free trial starts with your first dictation.