Skip to main content

Use voice input with Copilot CLI

Speak your prompts to GitHub Copilot CLI instead of typing them, using the CLI's speech-to-text feature.

Voice input lets you dictate prompts to Copilot CLI by speaking into your microphone instead of typing on the keyboard. Transcription runs entirely on your local machine. Your audio is not sent over the network. The recognized text is inserted at the cursor position in the prompt input area, where you can edit it before submitting.

Prerequisite

You need a working microphone connected to your machine. By default, voice input uses your system's default microphone.

Limitation

Copilot CLI offers a fixed set of speech-to-text models: a multilingual model, which is the default, plus a dedicated English model and a dedicated Spanish model. Only these models are listed in the voice models picker.

Enabling voice input

Before you can dictate prompts, you need to download the voice runtime that powers speech recognition, and a voice model.

  1. In an interactive Copilot CLI session, enter the /voice slash command.

  2. When prompted, select Continue to download the voice runtime.

    The download runs in the background. You can keep using Copilot CLI while it completes.

  3. When you're prompted to choose a voice model, press Enter with "Download default model" selected to download the default multilingual speech-to-text model.

    Alternatively, if you want to use the dedicated English or Spanish model:

    1. Use the arrow keys on your keyboard to select "Browse models", then press Enter.
    2. In the voice models picker, use the arrow keys to select the model you want, then press Enter to download it.
    3. Press Esc to exit the picker.

Using voice input

There are two ways to dictate prompts.

For short prompts

  1. Hold down the space bar on your keyboard.

    After a brief moment, recording begins.

  2. Speak your prompt.

  3. Release the space bar.

    Copilot CLI transcribes your speech and inserts the result at the cursor position in the prompt input area.

For longer prompts

Rather than holding down the space bar, you can toggle voice recording on and off. This is more convenient for longer prompts.

  1. Press Ctrl+X followed by V to start recording.

    Note

    In some terminals, you can use Ctrl+Space as an alternative. This shortcut only works if your terminal and OS pass it through. You may also need to free it in your terminal or OS key bindings.

  2. Speak your prompt.

  3. Press any key to stop recording and insert the transcription.

Cleaning up voice-entered prompts

Optionally, to clean up a prompt you have entered by speaking, you can use the /refine slash command. This command:

  • Removes filler words, false starts or repetitions.
  • Applies any self-corrections you've made.
  • Fixes grammatical mistakes.
  • Groups related points for clarity.

To clean up the current prompt:

  1. Before submitting the prompt, press Ctrl+X quickly followed by /.
  2. Type /refine, then press Enter.

Switching microphones

If you have more than one microphone available on your system, you can switch input devices.

  1. Enter the /voice devices slash command.

    A list of available input devices is shown.

  2. Use the arrow keys on your keyboard to select the microphone you want to use, then press Enter.

Switching voice models

The default multilingual model handles more than one language, but you can switch to the dedicated English or Spanish model if you prefer. The model you want must be downloaded and activated before you can use it.

To change to a different voice model:

  1. Enter the /voice models slash command.

    The voice models picker is displayed. A check mark indicates the currently active model.

  2. In the voice models picker, use the arrow keys on your keyboard to select the model you want to use, then press Enter.

    If the model is not already downloaded, it will be downloaded to your machine.

  3. If you downloaded a model, press Enter again to make it the active model.

Your choice of model—and whether voice input is enabled or disabled—is stored in your Copilot settings file (typically ~/.copilot/settings.json) so that your preferences persist across CLI sessions.

Further reading