2026-11-13Changes
Talk with the Agent: Cursor Voice Chat for Live Coding
Cursor Voice Chat is a live spoken call with an agent, not dictation into the chat box. The 6 November 2026 changelog describes it as a realtime voice call: you describe a change out loud, ask what the agent is working on, and hear updates as the work moves. It runs in the Agents Window, the IDE, on web, and in Cursor for iOS. Dictation, which older releases called Voice Mode, still exists beside it.
Checked against the live changelog and Voice chat docs on 13 November 2026. The 6 November date is Cursor’s launch note, not this page’s publish date. This article is a walkthrough from those pages. It is not a first-person test of a specific account, microphone, or plan. Cursor does not publish a numeric daily call cap; the docs only say a daily limit exists and that the product tells you when you can call again if you hit it. Do not treat Voice Chat as free or unlimited for every account.
What Voice Chat is, in one pass
Voice chat is speech-to-speech. You speak to a voice agent. It replies in a natural voice. When you ask for code changes, that voice agent hands the work to the coding agent in the same chat and keeps talking with you while the work runs. The coding agent still uses the model you already picked for it. Listening and speaking run on Grok Voice.
The call transcript appears in the chat. Cloud agent transcripts sync to your other devices while the call is live, unless Privacy Mode is on.
Voice chat is separate from dictation:
| Voice chat | Dictation | |
|---|---|---|
| Button | Waveform, labeled Start voice chat | Microphone: Start voice input in the Agents Window, Voice Input in the IDE, Record voice on iOS |
| What you get | A spoken reply from the agent | Text in the chat input |
| Who sends the prompt | The voice agent hands off work | You review and send |
| Shortcut | None | Cmd Shift Space in the IDE. Hold Ctrl M to talk in the Agents Window |
Earlier releases called dictation Voice Mode. In the IDE, Cmd Shift Space still toggles dictation.
Prerequisites
The docs list three requirements.
A supported surface. Use the Agents Window, the IDE, web, or the Cursor iOS app. The changelog repeats the same four surfaces. This page does not add desktop-only caveats the docs do not state.
A signed-in Cursor account. Sign in with your account. Sessions authenticated with an API key cannot start voice chat. The Start voice chat button can still show when you are signed out or on an API key; the call then fails with “Realtime voice requires sign-in.” Sign in, then start the call again.
Microphone permission. Allow Cursor to use the microphone when the operating system, browser, or phone asks. If you denied it earlier, Cursor shows “Microphone blocked. Allow it in your system or browser settings.” On iOS it shows “Microphone blocked. Allow it in Settings.” Turn access back on there, then start the call again.
Update Cursor before you look for the control. The changelog ends with that instruction.
The four surfaces are not identical at the first click. Agents Window: any chat, including a new one. IDE: a chat that already has at least one message, plus the extra IDE hide rules (streaming cloud agent, dictation turned off). Web: listed as supported; the docs do not add a separate web-only start recipe, so use the same idle-and-empty-input rule. iOS: the same waveform path, plus Siri and Live Activity as documented below.
Plan and quota are not listed as a named prerequisite, but call limits exist. Silence hangs up. A daily limit exists without a published number. Privacy Mode, if you use it, changes retention (see Privacy). None of that is a promise that every seat includes unlimited voice.
Start and stop
Open an agent chat
In the Agents Window, open any chat, including a new one. In the IDE, open a chat that already has at least one message. The docs are explicit about that IDE extra step. A blank IDE chat is not the documented place to look for the waveform.
Clear the chat input
When the agent is idle and the chat input is empty, a waveform button appears where Send usually is. While the agent runs, Stop takes that spot. Typed leftover text hides the waveform. Clear it.
Click Start voice chat
The waveform sits next to the microphone button for dictation. Click the waveform, not the mic. The mic starts dictation. There is no keyboard shortcut for Voice Chat in the comparison table.
Allow the microphone if asked
The call connects. Start talking, or the agent checks in after a few seconds.
iOS extras
Say “Hey Siri, call Cursor” to start a call with a new agent. The iPhone needs to be unlocked. When iOS cannot show the call on the system call screen, a Live Activity appears on the Lock Screen and in the Dynamic Island. Mute and hang up from the Lock Screen or the expanded Dynamic Island. The compact Dynamic Island does not show those controls.
Hang up
The voice agent can hang up when you say you are done. By default, a call also hangs up after about 10 minutes of silence from you while the agent has no work in progress. If work is running, that silence rule as documented does not apply in the same way: the limit is silence from you while the agent has no work in progress.
The docs do not describe a separate on-screen Hang up control outside iOS Live Activity and the spoken hang-up. This page does not invent one.
What the voice agent can do during a call
The documentation lists five capabilities.
Hand off work. Send a task or follow-up to the coding agent in the current chat.
Answer questions about your work. Read diffs, runs, and agents to tell you what changed and what is still running. Those lookups are read-only.
Search this agent’s history. Search earlier messages and calls with this agent.
Switch Project workers. In a Project that has workers, move the call to a different worker.
Hang up. End the call when you say you are done.
The coding agent decides what is worth saying. It speaks short progress notes while it works, a brief answer when it finishes, and an update when workers it started report back. If it does not write a spoken update for a turn, the call reads its written reply instead. You usually hear a short update, not the full written reply. Full replies stay in the chat.
You can keep working while you are on a call. The coding agent keeps running while you talk.
Voices: pick a default in Voice or Agent Voice settings. Named voices include Ara, Eve, Leo, Rex, and Sal. You can change the voice during a call; that choice sticks to the agent you are talking to. An agent with its own saved voice uses that voice instead of your default.
A sample dialogue with a tight change scope (demonstration)
The following dialogue is a demonstration of how the documented handoff, read-back, and acceptance loop can sound. It is not a recording of a session on this site, and it is not a claim that every account will hear the same wording.
Scope for the demo: in a Next.js app, add an empty-state sentence on the existing Articles table when a category filter matches nothing. Do not restyle the table. Do not add a new route.
You: Start on the Articles index. When the category filter has no rows, the table should show one sentence: no articles match this filter. Do not change the grid, the row link, or the category tabs. Read the current empty branch first.
Voice agent: Hands the task to the coding agent in this chat.
Coding agent (short spoken note, as the docs describe): Working on the empty filter state.
You: What changed in the diff?
Voice agent: Read-only lookup on the diff. It should describe the empty-state copy and leave the price-row markup alone if that is what the coding agent did. If the diff also touches CSS or a new slug, say so and stop the extra work.
You: Acceptance: the Compare, Spend, and Changes filters still switch; a filter with no rows shows that sentence; a filter with rows is unchanged. Confirm that, then stop.
Coding agent (brief answer when done): The docs say you usually hear a short completion note, not the full written reply. The full reply stays in the transcript.
That is the loop the pages describe: you talk, the voice agent hands off, you ask what changed, the agent can read the diff, you confirm acceptance. Keep the spoken brief smaller than a typed spec. The changelog’s own verbs are describe a change, ask what an agent is working on, hear updates.
After the coding agent finishes, make the acceptance spoken and binary. The docs say the agent speaks a brief answer when it is done, and that you can keep asking about diffs and runs. A usable close for this demo is three checks, all from the same chat: the empty-state sentence appears only when the filter matches nothing; the category tabs still switch; no CSS or route file landed in the diff. If the spoken update skips a check, ask for that file by name. If the voice agent starts a second task, say you are done so it can hang up. The hang-up capability is documented; this page does not add a custom slash command.
A tight scope matters because the voice agent sends work without you tapping Send. Dictation would have left the prompt in the input for you to edit. Voice Chat does not.
Where the Start voice chat button is hidden
The waveform shows only when the agent is idle and the chat input is empty. Clear any text, or wait for the agent to finish. In the IDE, the chat also needs at least one message.
The button is hidden in:
- Subagents and Project workers
- Archived chats
- Claude Code chats
- Chats owned by another teammate
Those four are from the FAQ. Do not look for a Voice Chat button on a sub-agent, a Project worker, an archived thread, a Claude Code chat, or someone else’s session. The docs do not document a workaround control on those surfaces.
In the IDE, the button is also hidden for cloud agents that are still streaming and when dictation is turned off. If none of these apply, the FAQ says to update Cursor.
Switching Project workers during a call is documented as a voice-agent action in a Project that has workers. Starting Voice Chat from a Project worker chat is a different sentence: the button is hidden there. Do not collapse those two.
Troubleshooting
You do not see Start voice chat
Walk the FAQ order. Idle agent. Empty input. In the IDE, at least one existing message. Not a subagent, Project worker, archived chat, Claude Code chat, or teammate-owned chat. In the IDE, not a still-streaming cloud agent, and dictation not turned off. Then update Cursor.
Do not hunt for a second waveform in Settings. The documented control is the empty-input Send slot.
The call fails with “Realtime voice requires sign-in”
You are signed out or the session is an API-key session. Sign in to Cursor with your account, then start the call again. The button can appear before that sign-in; the call still needs the account.
Microphone blocked
Desktop or browser: “Microphone blocked. Allow it in your system or browser settings.” iOS: “Microphone blocked. Allow it in Settings.” Re-enable, then start the call again. The docs do not list a Cursor-only toggle that overrides OS permission.
You hit a daily limit
The docs: “There’s a daily limit on voice calls. If you reach it, Cursor tells you when you can call again.” No number is published on the changelog or the Voice chat page. Do not invent one. Stop when the product says you are done for the day. Dictation remains a separate control if you still need to type by voice.
The call drops after you stepped away
Default hang-up is about 10 minutes of silence from you while the agent has no work in progress. If you left a long pause and nothing was running, that is the documented behavior, not a crash.
You hear the full written reply
Usually the coding agent writes a short spoken update. When it does not, the call reads the written reply. That is documented, not a misconfiguration.
You wanted dictation
You clicked the microphone instead of the waveform, or you used Cmd Shift Space / Ctrl M. Those paths fill the input with text. They do not start a two-way call.
Privacy versus dictation
With Privacy Mode on, voice chat runs with zero data retention. The changelog and the docs use the same sentence. Cloud agent transcripts sync to your other devices while the call is live, unless Privacy Mode is on.
This page does not extend that sentence to dictation, chat logs, or coding-agent training. It only restates what the Voice Chat pages say about Voice Chat under Privacy Mode.
Dictation still turns speech into text in the chat input. You review and send. That text is a chat message. Voice Chat is a call whose transcript appears in the chat, with Grok Voice on the audio path. If your requirement is “do not start a realtime audio session,” use dictation. If your requirement is zero data retention on Voice Chat, turn Privacy Mode on and read Cursor’s Privacy Mode documentation for the rest of the product, not only this page.
API-key sessions cannot start Voice Chat. That is an authentication rule, not a privacy mode.
Models and voices, without mixing them up
Grok Voice handles listening and speaking. The coding agent in the chat keeps using the model you picked for it. Changing the spoken voice does not change the coding model. Named voices on the changelog and docs include Ara, Eve, Leo, Rex, and Sal. “Many voices” is the documented phrase; this page does not list names beyond those five.
There is no Voice Chat shortcut in the comparison table. There is no documented button to attach Voice Chat to a sub-agent. There is no documented way to start it on an archived chat or on a teammate’s chat.
When Voice Chat is the wrong tool
Use dictation when you need to edit the prompt before it sends.
Use typed chat when the change set is large, the acceptance criteria are a checklist you want in writing first, or you are not in a position to grant microphone access.
Use Voice Chat when you want a two-way loop: talk through a small change, hear progress, ask about a diff, confirm next steps, without filling the input.
The changelog’s examples are describe a change, ask what the agent is working on, hear updates. Keep the spoken job that small until you have seen how the handoff behaves on your own repo.
Frequently asked questions
Is Voice Chat the same as Voice Mode?
No. Older releases called dictation Voice Mode. Dictation still turns speech into text in the chat input. Voice Chat is a two-way call where the agent answers out loud. That split is in both the 6 November 2026 changelog and the Voice chat docs.
Where does Voice Chat run?
Agents Window, IDE, web, and Cursor for iOS. The same four surfaces appear in the changelog and the docs.
Why is the waveform missing?
It shows when the agent is idle and the input is empty. The IDE also needs at least one message. It is hidden on subagents, Project workers, archived chats, Claude Code chats, and chats owned by another teammate. In the IDE it is also hidden for streaming cloud agents and when dictation is turned off.
Can an API-key session start a call?
No. The call needs a signed-in Cursor account. API-key sessions cannot start voice chat. The failure text is “Realtime voice requires sign-in.”
How long can a silent call stay up?
By default it hangs up after about 10 minutes of silence from you while the agent has no work in progress.
Is there an unlimited free voice quota?
Cursor documents a daily limit and does not publish the number here. Privacy Mode is a retention setting, not a quota. Do not assume every account is free or unlimited.
Does Privacy Mode change Voice Chat retention?
Yes. With Privacy Mode on, voice chat runs with zero data retention. Cloud transcripts do not sync to other devices while Privacy Mode is on.
Sources
Current prices are on the price table.