Loading image...Kiro

Product

  • About Kiro
  • IDE
  • CLI
  • Web
  • Mobile
  • Crew
  • Pricing
  • Downloads

For

  • Enterprise
  • Startups
  • Students

Community

  • Overview
  • Ambassadors
  • Discord
  • Events
  • Powers
  • Shop
  • Showcase

Resources

  • Docs
  • Blog
  • Changelog
  • FAQs
  • Report a bug
  • Suggest an idea
  • Billing support

Social

Site TermsLicenseResponsible AI PolicyLegalPrivacy PolicyCookie Preferences
Loading image...Kiro
  • Enterprise
  • Pricing
  • Docs
SIGN INDOWNLOADS
Loading image...Kiro

Get Started

InstallationAuthenticationYour first project

Models

OverviewAvailable modelsReasoning effort

Features

How Kiro works
Specs
Steering
Hooks
MCP
Permissions
Custom agents
Agent Skills
Powers
Cloud sessionsCompactionKiroignoreCheckpoints and rewind
Built-in tools
Configuration scopes

IDE 1.x

What's new in 1.0
Setup & First Run
Editor
Chat
Experimental
Troubleshooting0.x reference

CLI

What's new in 3.0
Setup & First Run
Terminal UI
Chat
Voice modeHeadless modeACPAuto complete
Experimental
2.x reference

Crew

Quick startInstallationRunning 24/7
Chat
Agent Capabilities
Features
Interfaces
Apps
ConfigurationSecurityTroubleshooting

Web - Preview

Setup & First RunIdentity Center
Connect your repositories
Working with the agent
Autonomous modeAutomations
Sandbox

Mobile - Preview

Overview

Commands and Reference

CLI commandsSlash commandsBuilt-in toolsExit codesSettings

Billing

OverviewManaging your subscriptionUpgrading your planDowngrading your planCancelling your planPurchasing add-on creditsManaging your paymentsManaging usage notificationsManaging your taxesContacting billing supportDeleting your accountRelated questions

Enterprise

ConceptsOnboarding quickstart
Connecting your identity provider
Subscribe your teamManage subscriptions
Governance
Monitor and track
SettingsManaged updatesBillingIAMSupported regions

Privacy and Security

OverviewData protectionCode referencesCompliance validationInfrastructure securityIAM permissionsFirewalls, proxies, and data perimetersVPC endpoints (AWS PrivateLink)

Guides

Overview
Language support
Learn by playing

Migration

Migrating from Q DeveloperMigrating from VSCodeUpgrading from Q CLI
  1. Docs
  2. CLI
  3. Voice mode

Voice mode


Voice mode lets you speak your prompts instead of typing them. Your speech is transcribed locally with OpenAI Whisper (via whisper.cpp) and, by default, submitted to the assistant automatically. You can switch to review-before-send if you prefer. It runs entirely on your machine by default, so no audio leaves your computer and no cloud API key is required. The speech model downloads once, on first use.

Info

Voice mode is a speech-to-text input feature for the Kiro CLI. It requires a microphone (or a remote voice server for cloud desktops) and a build of kiro-cli with the voice feature compiled in. This is separate from voice in KiroCrew, which offers both speech-to-text and text-to-speech in the dashboard.

How it works

  1. Start a recording with /voice, Ctrl+O, or by holding Space.
  2. Speak your prompt while the recording indicator shows your audio level in real time.
  3. Stop by pressing Enter, or let it auto-stop after a period of silence.
  4. The transcription is submitted to the assistant automatically by default, or placed in the prompt for review when you set voice.autoSubmit false.
Recording, press ENTER when done... 3.5sec ░░░█████████

Partial text streams into the input as you speak, so you can watch the transcription form before you stop.

Starting voice input

Slash command

/voice

Starts a single recording session in the current chat.

Push-to-talk with Ctrl+O

Press Ctrl+O at the chat prompt to start recording immediately, without typing a command. This is the fastest way to dictate a prompt. You can begin typing, press Ctrl+O, speak the rest, and the transcription is appended to what you already typed.

Push-to-talk with Space

Hold the Space key at the prompt for 1.5 seconds to start recording. Release Space to stop and transcribe. Useful for a quick voice input without pressing Enter.

Continuous mode

/voice --continuous

--continuous (short form -c) automatically starts a new recording each time you return to the prompt after an assistant response, so you can hold a back-and-forth conversation without re-triggering voice each turn. Run the command again to turn it off, or press Ctrl+C to exit.

First run: downloading the speech model

The Whisper model is downloaded on first use, and the download is never silent.

1

Run /voice

The command detects that no model is present.

2

Confirm the download

A panel shows the model name, its size (about 148 MB for the default base model), and its license (MIT). Press y to download or n to cancel.

3

Voice is ready

The model is cached under ~/.cache/kiro/models/. Subsequent recordings start instantly.

If you trigger voice with Space (push-to-talk) before the model is downloaded, Kiro prompts you to run /voice for the interactive setup.

Info

In headless or piped invocations there is no interactive panel. Pass --confirm-download on the CLI command directly to approve the one-time download.

Transcription backends

Local Whisper (default)

Local transcription uses whisper-rs (Rust bindings for whisper.cpp) and needs no internet after the initial model download. Two model sizes are available:

ModelDownload sizeSpeedAccuracy
base (default)~148 MBFasterGood
small~466 MBSlowerBetter

Set the model size:

bash
kiro-cli settings set voice.modelSize small

Remote voice server (for cloud desktops)

When you work on a cloud desktop with no microphone, voice mode can stream audio to a small server running on your local machine. Voice mode falls back to the remote server automatically when no local microphone is detected.

Manual setup:

bash
# On your local machine (the one with a microphone): kiro-cli voice-serve # Open a reverse tunnel when you SSH to the cloud desktop: ssh -R 19876:localhost:19876 cloud-desktop # On the cloud desktop, point voice mode at the tunnel: kiro-cli settings set voice.serverUrl http://localhost:19876

You can also force the remote backend for a single session with /voice --model remote (the default is --model local-whisper).

One-step cloud setup

From your local machine, voice-cloud-setup wires everything up in one command:

bash
kiro-cli voice-cloud-setup <cloud-hostname>

It verifies SSH connectivity, configures voice.serverUrl on the cloud desktop, starts voice-serve locally, and opens the reverse tunnel.

OptionDescription
--port <port>Port for the voice server (default: 19876)
--remote-bin <path>Path to kiro-cli on the cloud desktop
-i <identity>SSH identity file
Info

The remote server URL can also be supplied through the KIRO_VOICE_SERVER_URL environment variable. When it is set, the local voice binary is skipped and audio streams to the server.

Accuracy: VAD and context

Voice mode uses Silero Voice Activity Detection to tell speech from background noise. It detects when you start and stop talking, filters out keyboard clicks and fan noise, and drives the silence auto-stop, which prevents false transcriptions from ambient sound.

Recent conversation context is also passed to Whisper's initial prompt, which improves accuracy for code identifiers, function names, and project-specific vocabulary discussed earlier in the session.

Configuration

Voice behavior is controlled through kiro-cli settings. All settings are optional.

SettingTypeDefaultDescription
voice.modelSizestringbaseWhisper model size: base or small
voice.languagestringenTranscription language (auto to detect)
voice.silenceTimeoutinteger5Seconds of silence before recording auto-stops
voice.maxSessionTimeinteger300Maximum recording length in seconds
voice.autoSubmitbooleantrueSubmit the transcription automatically instead of placing it in the input for review
voice.serverUrlstringnoneRemote voice server URL for cloud desktops

Examples:

bash
# Favor speed kiro-cli settings set voice.modelSize base kiro-cli settings set voice.silenceTimeout 3 # Favor accuracy kiro-cli settings set voice.modelSize small kiro-cli settings set voice.silenceTimeout 8 # Review each transcription before it is sent kiro-cli settings set voice.autoSubmit false # Transcribe Spanish kiro-cli settings set voice.language es # View your voice settings kiro-cli settings list | grep voice

Privacy and security

  • With local Whisper, audio is captured, transcribed, and discarded on your machine. Nothing is sent to any server.
  • The remote voice server option streams audio only to the server URL you configure (typically your own laptop over an SSH tunnel).
  • Kiro verifies the Whisper model file against a pinned SHA-256 digest after download and before every use. A corrupt, tampered, or attacker-planted model is rejected. If a cached model fails the check, Kiro deletes it and re-downloads from the official CDN automatically. No action is needed.
  • On Unix systems, the model directory is restricted to owner-only access (mode 0700) as defense in depth.

Examples

Basic voice input

> /voice Recording, press ENTER when done... 2.1sec ░░░████████ "Fix the bug in the authentication module" > Analyzing the authentication module...

Push-to-talk continuing a typed prompt

  1. Type the start of your prompt: How do I
  2. Press Ctrl+O and speak: "implement pagination in the users API"
  3. Press Enter to stop
  4. The submitted prompt reads: "How do I implement pagination in the users API"

Continuous conversation

> /voice -c Continuous voice mode enabled Recording, press ENTER when done... 1.8sec ░░░██████ "What files are in the src directory" > The src directory contains... Recording, press ENTER when done... 2.3sec ░░░████████ "Show me the main function" > Here's the main function...

Limitations

  • Requires a physical microphone, or a remote voice server for cloud desktops.
  • Local transcription is CPU-bound. The small model is more accurate but slower, and there is no GPU acceleration yet.
  • Optimized for English by default; multilingual support is limited.
  • No wake word activation.

Troubleshooting

ProblemFix
"No microphone detected"Grant microphone permission, or set up a remote voice server on a cloud desktop
Recording stops too earlyIncrease voice.silenceTimeout (for example, to 10)
Poor transcription accuracySwitch to the small model, speak clearly, and reduce background noise
First use is slowThe model downloads once on first use, then recordings start instantly
"Model integrity check failed"Kiro deletes the invalid file and re-downloads automatically. If it persists, check your network or proxy
"Voice binary not found"Reinstall kiro-cli, or confirm KIRO_CHAT_CLI_BIN points to a build with the voice feature compiled in
High CPU during transcriptionUse the base model and let a transcription finish before starting new work

Related

  • Chat: the interactive session that voice input feeds into
  • Terminal UI: the interface that renders the live recording indicator
  • In-session settings: adjusting settings during a session
Page updated: August 11, 2026
Custom diff tools
Headless mode