Skip to main content

Voice input — text doesn't appear when I speak

If you click the Mic button (or press ⌘⇧M / Ctrl+⇧M) and nothing shows up in the chat input as you speak, work through these in order. Most issues are at step 1 or 2.

1. Check that an OpenAI API key is configured

Jorv Builder uses OpenAI's Whisper API for speech-to-text. Without a key, the mic button is disabled — you'll see a small yellow dot on the icon and a tooltip explaining.

  1. Open Settings → AI Models.
  2. Find OpenAI in the providers list.
  3. If the row shows API key set (untested — click Test to verify) in yellow, click Test. A green check means it works.
  4. If the row shows API key invalid — see error above in red, your key is rejected by OpenAI. Generate a new one at platform.openai.com/api-keys and replace it via Change.

If you don't yet have an OpenAI account, see How-to: Configure OpenAI.

2. Check that microphone access was granted

When you click the Mic for the first time, macOS / Windows asks for microphone permission. If you denied it, the button shows "Microphone access denied" in its tooltip.

macOS: System Settings → Privacy & Security → Microphone → enable Jorv Builder.

Windows: Settings → Privacy & Security → Microphone → toggle on for Jorv Builder.

You may need to restart Jorv Builder after changing the permission.

3. Confirm the recording is reaching Whisper

Open the developer tools (View → Toggle Developer Tools) and check the Console while recording. If you see a 401 Incorrect API key provided error, your OpenAI key is being rejected — go back to step 1.

If your recording is shorter than 0.5 seconds, Jorv Builder drops it silently. Hold the Mic button (or ⌘⇧M) for at least one second.

4. Confirm chunked streaming is working

While recording, text should update in waves of about 3 seconds — that's Whisper transcribing each rolling chunk. If you only see text after clicking stop, the chunked path may have failed silently. Check the Console for [VoiceMicButton] warnings. As a workaround, the final post-stop pass always runs and produces accurate text.

Related