Claude Code Voice Mode: Hướng Dẫn Từng Bước (2026)

Bạn vừa đọc qua changelog Claude Code và bắt gặp dòng “Voice Mode: push-to-talk built-in”. Nghe hay đấy: nói ra, Claude tự hiểu và thực thi, không cần gõ từng ký tự. Nhưng Claude Code voice mode bật thế nào? Cần update lên version nào? Tiếng Việt có dùng được không? Xem chi tiết điều khiển Claude từ xa.
Mình test tính năng này 2 tuần liên tục. Kết quả ngắn: nó hoạt động tốt, thiết lập trong 2 phút, nhưng có 2 điểm bạn cần biết trước: tiếng Việt chưa có trong danh sách chính thức, và cách setup trên WSL khác với macOS. Bài này cover đầy đủ từ bật lần đầu đến tùy chỉnh nâng cao.
Trả lời nhanh: Gõ /voice trong terminal Claude Code, giữ Spacebar để nói, thả để gửi transcript đến Claude. Tính năng có từ v2.1.69 (hold mode) và v2.1.116 (tap mode). Transcription không tốn token. Cần claude.ai account. API key trực tiếp không dùng được. Setup mất 2-3 phút.
TL;DR
- Gõ
/voicetrong terminal, giữ Spacebar để nói, transcript xuất hiện ngay lập tức. - Tap mode (v2.1.116): tap 1 lần bắt đầu, tap lần nữa để gửi, tự dừng sau 15 giây silence.
- Tiếng Việt chưa hỗ trợ. Workaround: nói tiếng Anh, cấu hình
language: "english", Claude vẫn reply tiếng Việt. - Transcription miễn phí: không tính token, không ảnh hưởng rate limit.
- Cần claude.ai account. API key, Bedrock, Vertex AI không dùng được.
Claude Code Voice Mode là gì và hoạt động thế nào?
Claude Code voice mode là tính năng push-to-talk tích hợp sẵn trong CLI, ra mắt ngày 3 tháng 3 năm 2026 (v2.1.69). Không cần extension bên ngoài, không cần cấu hình microphone phức tạp. Speech được transcribe real-time và stream trực tiếp vào prompt input, bạn có thể trộn voice và typing trong cùng một câu lệnh. Nếu bạn chưa dùng Claude Code trước, xem thêm bài Claude Code là gì trước khi bắt đầu.
Cơ chế hoạt động theo 3 bước: bạn nói, Claude Code transcribe local rồi gửi text đến Claude API, Claude xử lý và trả lời. Transcription không đi qua Claude API nên không tốn token, không ảnh hưởng rate limit. Đây là lý do feature này miễn phí hoàn toàn cho người dùng có claude.ai subscription.
Điểm khác biệt so với các công cụ voice-to-text thông thường là coding vocabulary recognition: Claude Code tự inject tên project và git branch hiện tại làm recognition hints, nên terminal nhận tốt các từ kỹ thuật như “pytest”, “OAuth”, “localhost:3000”, hoặc tên function cụ thể trong codebase của bạn.
Feature được phát triển nhanh sau launch: trong 7 tuần đầu có 5 bản update đáng kể, fix bug startup freeze (v2.1.83), Windows WebSocket issue (v2.1.89), và thêm tap mode (v2.1.116). Đây là dấu hiệu Anthropic đang đầu tư nghiêm túc vào voice-first coding workflow.
Bật Voice Mode Trong Claude Code Như Thế Nào?
Bật voice mode bằng lệnh /voice trong terminal. Lần đầu chạy, Claude Code sẽ xin quyền truy cập microphone (macOS hiển thị popup hệ thống). Cần có claude.ai account được authenticate. API key trực tiếp không đủ, Bedrock và Vertex AI cũng không hỗ trợ.
Các bước cụ thể:
Bước 1: Kiểm tra version
Version tối thiểu là v2.1.69 cho hold mode, v2.1.116 cho tap mode. Kiểm tra bằng:
claude --version
Nếu cần update:
npm update -g @anthropic-ai/claude-code
Bước 2: Authenticate claude.ai
Chạy claude và đảm bảo bạn đã login bằng claude.ai account (không phải API key). Voice mode chỉ hoạt động với claude.ai authentication:
claude auth status
# Phải hiển thị: Authenticated as [your-email]@[domain]
Bước 3: Bật voice
Trong một session Claude Code đang chạy, gõ:
/voice
Claude Code hiển thị microphone indicator. Lần đầu trên macOS, cửa sổ permission pop up, chọn “Allow”. Linux và Windows tự nhận mic mà không cần confirm.
Checkpoint: Bạn thấy icon microphone hoặc dòng “Voice mode enabled” trong terminal. Giữ Spacebar và nói vài từ, transcript xuất hiện trong prompt input.
Lệnh /voice là toggle: gõ lại để tắt. Nếu muốn voice bật tự động mỗi khi mở Claude Code, thêm vào config:
/config set voiceEnabled true
Tính năng này có từ v2.1.79 trở lên.
Hold Mode vs Tap Mode: Cái nào phù hợp hơn?
Hold mode (mặc định) bạn giữ Spacebar trong khi nói, thả ra để gửi transcript. Tap mode (v2.1.116) bạn tap 1 lần để bắt đầu ghi âm, tap lần nữa để gửi, tự dừng sau 15 giây silence. Tap mode tiện hơn cho câu dài, hold mode phản hồi nhanh hơn cho lệnh ngắn.

| Tiêu chí | Hold Mode | Tap Mode |
|---|---|---|
| Cách dùng | Giữ Spacebar khi nói, thả để gửi | Tap 1 lần bắt đầu, tap 1 lần gửi |
| Version tối thiểu | v2.1.69 | v2.1.116 |
| Auto-stop | Không (phụ thuộc thả tay) | Có, sau 15 giây silence |
| Phù hợp với | Lệnh ngắn, query nhanh | Câu dài, mô tả phức tạp |
| Tích hợp autoSubmit | Có (min 3 từ) | Gửi khi tap lần 2 |
| Khi ngắt kết nối | Drop, không gửi | Giữ transcript, gửi khi kết nối lại |
Bật tap mode:
/voice tap
Quay về hold mode:
/voice hold
Sau 2 tuần dùng cả hai, mình thấy tap mode phù hợp hơn cho workflow thực tế. Hold mode khó dùng khi bạn vừa giữ phím vừa nhìn màn hình đọc code. Với tap mode, bạn tap bàn phím, nhìn màn hình, nói thoải mái, rồi tap lại để gửi, tay không bị lock.
Có thể Tùy Chỉnh autoSubmit và Phím Push-to-Talk không?
Có. autoSubmit: true trong config giúp hold mode tự gửi khi thả Spacebar (cần ít nhất 3 từ để trigger). Phím push-to-talk mặc định là Spacebar và rebind được trong ~/.claude/keybindings.json.
Bật autoSubmit:
/config set autoSubmit true
Với autoSubmit, bạn không cần Enter sau khi thả phím. Claude nhận transcript và xử lý ngay. Hữu ích khi dùng voice để ra lệnh liên tục.
Rebind phím push-to-talk: tạo hoặc sửa file ~/.claude/keybindings.json:
{
"voice:pushToTalk": "ctrl+space"
}
Các phím hợp lệ: single keys (space, f1–f12, tab) hoặc combinations (ctrl+space, alt+v). Spacebar là mặc định vì ít conflict nhất trong terminal, nhưng nếu bạn hay dùng Spacebar cho autocomplete thì rebind sang ctrl+space tiện hơn.
Đây là lúc mình áp dụng Push-First Workflow, pattern kết hợp voice và keyboard cho hiệu quả tối ưu. Thay vì dùng voice 100% hoặc bỏ hoàn toàn, mình dùng voice cho intent dài (“viết unit test cho function này, dùng pytest, mock database call, cover cả trường hợp connection timeout”), sau đó dùng keyboard để sửa tên file cụ thể, path, hoặc regex pattern ngắn. Kết quả sau 2 tuần: gõ ít hơn khoảng 40% cho những coding session dài trên 2 tiếng.
Voice Mode có hoạt động trên Windows và WSL không?
macOS, Linux, và Windows native đều hỗ trợ. WSL2 với WSLg (Windows 11) cũng chạy được. WSL1 và Windows 10 WSL không hỗ trợ vì thiếu audio bridge. Cần dùng Windows native terminal thay thế. Remote SSH và GitHub Codespaces không hỗ trợ do mic nằm trên local machine, không truyền qua SSH.
| Platform | Hỗ trợ | Ghi chú |
|---|---|---|
| macOS | Có | Permission popup lần đầu |
| Linux | Có | SoX fallback nếu không có ALSA |
| Windows native | Có | WebSocket fix trong v2.1.89 |
| WSL2 + WSLg (Win 11) | Có | Cần WSLg, xem hướng dẫn bên dưới |
| WSL1 | Không | Dùng Windows native terminal |
| Windows 10 WSL | Không | WSLg chỉ có trên Windows 11 |
| Remote SSH | Không | Mic không truyền qua SSH |
| GitHub Codespaces | Không | Cloud environment, không có mic |
| VS Code Extension | Có | Hoạt động như CLI |
Setup WSL2 trên Windows 11:
Kiểm tra WSLg đã cài chưa:
echo $WAYLAND_DISPLAY
# Nếu hiển thị "wayland-0" hoặc tương tự: WSLg đã hoạt động
# Nếu trống: cần update WSL
Update WSL để có WSLg:
wsl --update
wsl --shutdown
# Khởi động lại WSL
Sau đó chạy Claude Code trong WSL2 như bình thường và /voice sẽ nhận mic từ Windows host qua WSLg audio bridge.
Tiếng Việt có được hỗ trợ trong Voice Mode không?
Tiếng Việt chưa có trong 20 ngôn ngữ hỗ trợ tính đến tháng 4 năm 2026. GitHub issue #40433 (mở ngày 29 tháng 3 năm 2026) ghi nhận yêu cầu này. Workaround: cấu hình language: "english" trong /config, nói tiếng Anh, Claude vẫn reply tiếng Việt vì ngôn ngữ phản hồi phụ thuộc vào conversation context, không phải ngôn ngữ transcription.

20 ngôn ngữ hiện hỗ trợ: Czech, Danish, Dutch, English, French, German, Greek, Hindi, Indonesian, Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Russian, Spanish, Swedish, Turkish, Ukrainian.
Tiếng Việt không có trong danh sách này. Tuy nhiên workaround sau đây hoạt động trong thực tế:
Bước 1: Đặt transcription language về English:
/config set language english
Bước 2: Nói tiếng Anh khi dùng voice (“write unit tests for the auth module, use pytest”).
Bước 3: Claude nhận transcript tiếng Anh, nhưng nếu conversation context của bạn đang là tiếng Việt (hoặc bạn đã gửi message tiếng Việt trước), Claude sẽ reply tiếng Việt.
Điểm thú vị mình phát hiện: transcription engine tự nhận project name và git branch làm recognition hints. Nếu branch của bạn tên feat/user-authentication, engine nhận đúng từ “authentication” dù nó dài và kỹ thuật. Đây là lý do voice mode hoạt động tốt hơn expected cho coding context so với general-purpose dictation.
Claude Code Voice Mode vs Cursor và GitHub Copilot: Cái Nào Tốt Hơn?
Claude Code là công cụ coding duy nhất có native voice built-in. Cursor không có voice native, cần Wispr Flow extension ($10/tháng). GitHub Copilot Voice đã bị deprecated từ tháng 4 năm 2024 và không còn nhận user mới. Đây là lý do Push-First Workflow với Claude Code không có equivalent trên Cursor hoặc Copilot.
| Tính năng | Claude Code /voice | Cursor | GitHub Copilot Voice |
|---|---|---|---|
| Native voice | Có (built-in) | Không (cần Wispr Flow) | Deprecated Apr 2024 |
| Chi phí voice | $0 (included) | $10/tháng (Wispr Flow) | N/A |
| Số ngôn ngữ | 20 | Phụ thuộc Wispr Flow | N/A |
| Push-to-talk | Có (hold + tap) | Qua Wispr Flow | N/A |
| CLI support | Có (native CLI) | Không (IDE only) | Không |
| Tap mode | Có (v2.1.116) | Không | N/A |
| Tiếng Việt | Chưa (workaround có) | Phụ thuộc Wispr Flow | N/A |
| Account yêu cầu | claude.ai account | Cursor account + Wispr | GitHub account |
Cursor là IDE với nhiều tính năng khác mạnh hơn Claude Code CLI (file tree, diff view, inline edit), nhưng về voice thì ngược lại: phải dùng Wispr Flow extension với chi phí riêng và chạy ngoài Cursor. Không có native integration kiểu “giữ Spacebar trong IDE và câu lệnh tự vào chat”.
Wispr Flow bản thân là tool tốt cho general dictation, nhưng không có coding vocabulary optimization và không integrate với Cursor context. Bạn cần 2 subscription riêng biệt cho voice coding với Cursor. Để so sánh tổng chi phí Claude Code, xem thêm Claude Code giá bao nhiêu.
Với Claude Code, Push-First Workflow chạy trong cùng một terminal session: voice intent, keyboard correction, không context-switch, không phụ thuộc external service.
Xử Lý Sự Cố Thường Gặp
4 vấn đề phổ biến nhất: WSL không nhận mic, macOS block permission, CJK IME conflict, và startup freeze 1-8 giây (đã fix trong v2.1.83).
Vấn đề 1: WSL không nhận microphone
Triệu chứng: /voice enable nhưng giữ Spacebar không có gì xảy ra.
Nguyên nhân: WSLg chưa chạy, hoặc đang dùng WSL1.
Sửa: Kiểm tra echo $WAYLAND_DISPLAY, nếu trống hãy chạy wsl --update rồi restart. Nếu đang dùng WSL1, chuyển sang WSL2: wsl --set-version [distro] 2.
Vấn đề 2: macOS báo lỗi permission sau khi deny lần đầu
Triệu chứng: Lần đầu bạn chọn “Don’t Allow” hoặc bấm nhầm, sau đó /voice không xin permission lại.
Sửa: Vào System Settings > Privacy & Security > Microphone, tìm “claude” hoặc “Node” trong danh sách, toggle ON.
Vấn đề 3: CJK IME conflict (tiếng Trung, tiếng Nhật, tiếng Hàn)
Triệu chứng: Spacebar không trigger voice, thay vào đó confirm IME character.
Nguyên nhân: IME intercept Spacebar trước khi Claude Code nhận.
Sửa: Tắt IME mode trước khi dùng voice (thường là Shift hoặc Ctrl+Space tùy IME), hoặc rebind push-to-talk sang ctrl+v hay phím khác không conflict với IME. Fix chính thức có trong v2.1.83.
Vấn đề 4: Voice mode freeze 1-8 giây khi bắt đầu
Triệu chứng: Sau khi gõ /voice, terminal dừng 1-8 giây trước khi microphone active.
Nguyên nhân: Bug khởi tạo audio subsystem, đã fix trong v2.1.83.
Sửa: Update Claude Code lên v2.1.83 trở lên.
Câu Hỏi Thường Gặp
Cần version Claude Code nào để dùng voice mode?
Hold mode (giữ Spacebar) cần v2.1.69 trở lên, ra mắt ngày 3 tháng 3 năm 2026. Tap mode (/voice tap) cần v2.1.116 trở lên. Để có trải nghiệm ổn định nhất, nên update lên v2.1.119 trở lên: version này fix bug macOS first-recording empty result (Apr 23, 2026). Kiểm tra version hiện tại bằng claude --version.
Voice mode có tốn thêm chi phí không?
Không. Transcription (speech-to-text) chạy local và không đi qua Claude API, không tính vào Claude messages hay token consumption. Rate limit của bạn không bị ảnh hưởng. Tính năng này included trong Claude subscription hiện có mà không cần trả thêm.
Có cần claude.ai account không, dùng API key có được không?
Bắt buộc cần claude.ai account. API key trực tiếp không đủ để authenticate voice mode. Voice mode cũng không hoạt động với Amazon Bedrock, Google Vertex AI, hoặc Microsoft Foundry: chỉ hỗ trợ với claude.ai authentication.
Tiếng Việt có được hỗ trợ không và có workaround không?
Tiếng Việt chưa có trong 20 ngôn ngữ hỗ trợ tính đến tháng 4 năm 2026 (GitHub issue #40433). Workaround: cấu hình language: "english" bằng lệnh /config set language english, nói tiếng Anh khi dùng voice. Claude sẽ vẫn reply tiếng Việt nếu conversation context của bạn là tiếng Việt. Đây là workaround functional: nói tiếng Anh cho technical commands vốn hay là tiếng Anh, Claude reply tiếng Việt cho context và explanation.
Tap mode khác hold mode như thế nào?
Hold mode: giữ Spacebar khi nói, thả để gửi transcript, phản hồi nhanh, phù hợp câu ngắn. Tap mode (v2.1.116): tap 1 lần để bắt đầu ghi âm, tap lần 2 để gửi, tự dừng sau 15 giây silence, phù hợp câu dài. Bật tap mode bằng lệnh /voice tap. Mình thích tap mode hơn vì không cần giữ tay trên bàn phím trong lúc nói.
Voice mode có hoạt động trong VS Code extension không?
Có. VS Code extension của Claude Code hỗ trợ voice mode giống như CLI. Khi dùng trong VS Code, bạn vẫn gõ /voice trong chat panel và dùng Spacebar push-to-talk. Tương tự, JetBrains extension cũng hỗ trợ. Chỉ Web version (claude.ai/code) là không hỗ trợ voice mode.
Kết Luận
Claude Code voice mode là tính năng thiết thực cho workflow hàng ngày. Điểm mạnh nhất là native integration: không thêm subscription, không context-switch, không setup phức tạp. Gõ /voice, nói, Claude làm.
Push-First Workflow là cách khai thác tốt nhất: voice cho intent và câu lệnh dài, keyboard cho correction và path cụ thể. Tiếng Việt chưa được hỗ trợ nhưng workaround language: "english" hoạt động đủ tốt cho coding session. Technical commands vốn là tiếng Anh, Claude reply tiếng Việt cho context.
Nếu bạn dùng WSL trên Windows 11, hãy chắc WSLg đã cài trước khi thử. Nếu mới bắt đầu với Claude Code, xem thêm hướng dẫn cài đặt Claude Code để có nền tảng trước khi thiết lập voice.
Muốn đẩy workflow xa hơn, kết hợp voice mode với Claude Code hooks để tự động hóa toàn bộ pipeline từ voice command đến commit. Với mình, tính năng này thay đổi cách viết code theo hướng nói ra ý tưởng trước rồi mới chỉnh sửa chi tiết sau, thay vì gõ từng dòng từ đầu. Xem tổng hợp tất cả tính năng tại roadmap đầy đủ Claude Code 2026.
