To dictate a GitHub Copilot prompt on a Mac, click the chat input in VS Code and press ⌘I, or click its microphone button. Recent VS Code versions transcribe on the Mac and leave the text unsent so you can check it. Use a system-wide dictation app when you also write Copilot prompts in the GitHub Copilot app, on github.com or in Xcode, and want the same shortcut and custom words in all of them.

This post is about GitHub Copilot, the coding assistant from GitHub. It is not about Microsoft Copilot, the general assistant app whose voice chat shows up in many "Copilot voice" searches. For voice in VS Code more broadly, including comments and notes, see voice dictation for VS Code on Mac.

Where does the prompt go?

Copilot takes prompts in five places on a Mac:

  • GitHub Copilot app: the prompt field in a session or quick chat. The desktop app runs agent sessions in parallel, each on its own branch and worktree. Pick Interactive, Plan or Autopilot from the dropdown below the prompt field before you send.
  • VS Code: the chat input at the bottom of the Chat view (⌃⌘I opens it). Its controls set the Session Target, Agent (for example Ask, Plan or Agent), Language model and Permissions.
  • Copilot CLI: the prompt in your terminal after you run copilot.
  • Copilot for Xcode: the chat panel, opened from Xcode → Editor → GitHub Copilot → Open Chat.
  • github.com: the text of an issue you assign to Copilot, its Optional prompt field, or the agents panel.

Does Copilot have its own voice input?

Yes, in two places, and both are worth trying first.

VS Code built-in dictation (experimental, added in VS Code 1.131 in July 2026). According to the VS Code voice docs:

  • In the chat input, ⌘I or the microphone button starts and stops dictation. The text is inserted but not sent. Escape cancels.
  • ⌥⌘V dictates in an editor. Hold the shortcut down for push-to-talk.
  • Terminal dictation runs from the Command Palette and adapts speech for shell input.
  • On Apple silicon the speech model runs on the Mac and works offline once it has downloaded. One multilingual model follows the agents.voice.language setting or detects the language.
  • Sessions stop after 20 minutes.
  • By default, a Copilot language model tidies up the finished transcript. That sends the transcript text, but not the audio, to Copilot. You can steer it with a .github/dictation.md instructions file or switch it off with dictation.experimental.llmCleanup.
  • Intel Macs don't get built-in dictation. Microsoft points them to the older VS Code Speech extension, which also has the "Hey Code" wake phrase and reads chat responses aloud.

VS Code also has a separate Voice Mode (⇧⌘Space) for spoken back-and-forth with an agent. It is rolling out gradually and needs an eligible individual Copilot plan. It isn't available on Copilot Business or Enterprise.

Copilot CLI voice input. Run /voice to download the voice runtime and a model. Hold the space bar to talk, or press Ctrl+X then V for longer prompts. GitHub says transcription stays on your machine. It works on Apple silicon but not on Intel Macs. You get a multilingual, an English or a Spanish model, and /refine cleans up a spoken prompt before you send it.

GitHub Copilot app. The app is built on Copilot CLI, and some launch coverage mentions an on-device voice mode, but GitHub's app documentation does not describe voice input. Check your version before relying on it.

If you only prompt Copilot inside VS Code or the CLI on an Apple silicon Mac, the built-in options may be all you need.

When does a system-wide dictation app still help?

A system-wide app helps when your Copilot work spreads beyond one surface:

  • The GitHub Copilot app, until its voice input is documented.
  • github.com. The coding agent docs say to treat the issue you assign as the prompt. That issue body is a browser text field, so neither VS Code nor the CLI can dictate into it.
  • Xcode. We found no voice input in the Copilot for Xcode README.
  • Intel Macs, where neither built-in option is available.
  • One shortcut and one word list. Product names, internal service names and teammates' names behave the same in VS Code, Terminal, Xcode and the browser.

Speakmac works this way. It types into standard text fields across the Mac, transcribes on the device and keeps custom words for your project's vocabulary.

How do you dictate a Copilot prompt with Speakmac?

  1. Install Speakmac and grant microphone and Accessibility access. Pick a dictation model.
  2. Click the target field: the Copilot app prompt field, the VS Code chat input, the copilot prompt, the Xcode chat panel or a GitHub issue body.
  3. Start dictating with your Speakmac Push to Talk or Hands-Free shortcut. Choose one that doesn't clash with ⌘I or Copilot CLI's space bar.
  4. Say the outcome, the constraint and how to check it. Then stop.
  5. Add the exact context by typing, and send yourself.

How do you add context to a Copilot prompt?

Say the intent and type the references. The VS Code context docs and cheat sheet list these:

WhereType this
VS Code chat# plus a file, folder or symbol name; #codebase to search the workspace; #selection; Add Context for issues, PRs and images
VS Code chat/plan, /fix, /tests, /explain, /compact, or / plus a prompt file or skill name
Copilot CLI@path/to/file; Shift+Tab switches plan mode on and off

Some VS Code commands depend on the agent setup, so type # or / to see what your session supports. VS Code now lists @workspace-style chat participants as deprecated and says they aren't supported in the Copilot harness. Use #codebase instead.

What is a useful voice prompt?

For the Plan agent:

Plan how to add rate limiting to the public upload endpoint. Keep the current error format. List the files you would change and the risks before writing any code.

For an issue assigned to the coding agent:

When a user changes their email, the old address still receives receipts. Make receipts use the current address. Don't change the billing schema. Add a test that changes the email and then checks the next receipt.

These are example prompts, not claims that Copilot completed or tested this work. Review the diff and run the checks yourself.

What should you type instead?

SpeakType or attach
Goal, current behaviour, constraints#file references, @paths, symbol names
Acceptance criteriaStack traces, test output, commands
What must not changeCode snippets, config, issue links

Do not dictate secrets. On-device transcription covers only the speech step. Once you send the prompt, GitHub's Copilot data handling applies. Speakmac's privacy page covers its own part.

What if text does not appear?

Click back into the field and try a short sentence. In VS Code, check that focus is in the chat input and not the editor or terminal. If Speakmac shows a transcript but nothing was inserted, use Copy Last Transcript and paste it (recovery help). If no transcript appears, check the microphone and model first.

Try Speakmac for Mac, or see voice prompting in Codex and voice dictation in Cursor.