Voice for Cursor
wispa adds a voice loop to Cursor, in the terminal and in the Cursor editor: when the agent stops to ask, you answer out loud and Cursor submits your words as the next message.
3 min read
wispa gives Cursor a voice loop, and this is the one agent where it reaches both the terminal and the Cursor editor. When Cursor's agent stops to ask you something, you answer by voice and Cursor picks up your reply as the next message.
How the voice loop works with Cursor
Cursor runs a stop hook when its agent finishes a turn. wispa installs it, so when Cursor waits for you it passes its last message to wispa. You speak your answer, and wispa hands the text back as a follow-up message that Cursor submits on its own, so the agent keeps working.
Set it up
- Open wispa's Integrations, pick Cursor, and install. wispa writes the stop hook into
$HOME/.cursor/hooks.jsonand backs up any existing file. - Use Cursor the way you normally do, in the editor or in the Cursor CLI.
- When the agent stops and asks, hold your wispa hotkey and speak your reply.
- wispa transcribes it and Cursor submits it as the next message, then continues.
Terminal or editor?
Both. Cursor's stop hook fires whether you run the agent in the Cursor editor or the Cursor CLI, and in each case Cursor submits the follow-up wispa returns. That makes Cursor the one coding agent where the voice loop covers the graphical app as well as the terminal.
What wispa does in the background
wispa runs a local listener on 127.0.0.1 behind a private token, unreachable from the web. Cursor's hook sends its last message and workspace folder, read from the session transcript. wispa records your reply and transcribes it with your voice-loop model, with no AI cleanup on it, then returns it as a follow-up framed as user input. If a turn was cancelled rather than finished, wispa stays quiet and no prompt appears.
FAQ
Questions and answers
Does the voice loop work in the Cursor editor, not just the terminal?
Yes. Cursor's stop hook fires in the editor and the CLI, and Cursor submits the follow-up wispa returns in both. Cursor is the one agent where the loop covers the graphical app too.
What happens if I stop Cursor mid-turn?
Nothing pops up. wispa only shows the voice prompt when Cursor finishes a turn and waits, not when a turn is cancelled, so a cancel will not trigger a recording.
Where does wispa store the Cursor hook?
In $HOME/.cursor/hooks.json, as a stop hook. wispa backs up the previous file and leaves your other Cursor settings untouched, and you can remove it from wispa's Integrations.