Claude Code CLI'da prompt'larınızı yazarak değil, konuşarak girin. Sesli dikte (voice dictation) özelliği, konuşmanızı gerçek zamanlı olarak prompt girişine dönüştürür; böylece aynı mesajda sesli ve yazılı girişi karıştırabilirsiniz. Dikteyi /voice komutuyla etkinleştirin, ardından konuşurken bir tuşa basılı tutun ya da başlatmak için bir kez, göndermek için tekrar dokunun. Dikte, ajan görünümünde (agent view) de çalışır. Arka plan oturumuna dikte etmek için, dispatch girişi veya peek-panel yanıtı odaklanmışken push-to-talk tuşunuza basılı tutun veya dokunun.
Gereksinimler (Requirements)
Sesli dikte, kaydedilen sesi transkripsiyon için Anthropic'in sunucularına akış olarak iletir. Ses yerel olarak işlenmez. Aşağıdakilerin tümü gereklidir:
- Bir Claude.ai hesabı: konuşmadan metne (speech-to-text) hizmeti yalnızca bu hesapla kimlik doğruladığınızda kullanılabilir. Claude Code doğrudan bir Anthropic API anahtarı, Amazon Bedrock, Google Cloud'un Agent Platform'u veya Microsoft Foundry ile yapılandırıldığında kullanılamaz.
- Yerel bir mikrofon: sesli dikte, Claude Code on the web veya SSH oturumları gibi uzak ortamlarda çalışmaz.
- WSLg (Claude Code'u WSL'de çalıştırıyorsanız): WSLg, Windows 10 veya 11'de Microsoft Store'dan kurulduğunda WSL2 ile birlikte gelir. WSLg yoksa (örneğin WSL1'de), Claude Code'u yerel Windows'ta çalıştırın.
Transkripsiyon, Claude mesajlarını veya token'larını tüketmez ve /usage içinde gösterilen limitlere dahil değildir. Anthropic'in verilerinizi nasıl işlediği için veri kullanımı bölümüne bakın.
Ses kaydı macOS, Linux ve Windows'ta yerleşik bir yerel modül kullanır. Linux'ta yerel modül yüklenemezse, Claude Code ALSA utils'ten arecord veya SoX'ten rec kullanır. İkisi de yoksa /voice, paket yöneticiniz için bir kurulum komutu yazdırır.
Claude Code VS Code eklentisi de aynı Claude.ai hesabı gereksinimiyle sesli dikteyi destekler. Mikrofon yerel makinenizde olduğu ve eklenti uzak ana bilgisayarda çalıştığı için SSH, Dev Containers ve Codespaces dahil VS Code Remote oturumlarında kullanılamaz.
Sesli dikteyi etkinleştirme (Enable voice dictation)
Dikteyi etkinleştirmek için /voice komutunu çalıştırın. İlk etkinleştirdiğinizde Claude Code bir mikrofon kontrolü yapar. macOS'ta bu, terminaliniz için daha önce hiç verilmediyse sistem mikrofon izin istemini tetikler.
/voice
Voice mode enabled (hold). Hold space to record.
Dictation language: en (/config to change).
/voice isteğe bağlı bir mod argümanı kabul eder:
| Komut | Etki |
|---|---|
/voice |
Aç/kapat, mevcut modu korur |
/voice hold |
Basılı tutma modunda etkinleştirir |
/voice tap |
Dokunma modunda etkinleştirir |
/voice off |
Devre dışı bırakır |
Sesli dikte oturumlar arasında kalıcıdır. /voice çalıştırmak yerine doğrudan kullanıcı ayarları dosyanıza yazabilirsiniz:
{
"voice": {
"enabled": true,
"mode": "tap"
}
}
Sesli dikte etkin olan ilk üç oturumda, prompt boşken giriş alt bilgisi (footer) bir "hold space to speak" ipucu gösterir. İpucu, mevcut voice:pushToTalk bağlamanızı yansıtır ve dikte tuşunu yeniden bağlarsanız güncellenir. İpucu metni her iki modda da aynıdır ve özel bir durum satırı (status line) yapılandırdıysanız görünmez.
Transkripsiyon her iki modda da kodlama kelime dağarcığına göre ayarlanmıştır. regex, OAuth, JSON ve localhost gibi yaygın geliştirme terimleri doğru tanınır; mevcut proje adınız ve git dal adınız otomatik olarak tanıma ipuçları olarak eklenir.
Basılı tutarak kaydetme (Hold to record)
Hold modu push-to-talk'tır: kayıt, tuşa basılı tuttuğunuz sürece çalışır ve bıraktığınızda durur. Bu varsayılan moddur. Kaydı başlatmak için Space tuşuna basılı tutun.
Claude Code, basılı tutulan tuşu terminalinizden gelen hızlı tuş tekrarı (key-repeat) olaylarını izleyerek algılar; bu nedenle kayıt başlamadan önce kısa bir ısınma süresi vardır. Alt bilgi, ısınma sırasında keep holding…, kayıt aktifken listening… gösterir.
Kayıt sırasında, prefersReducedMotion açık değilse prompt imleci mikrofon seviyenizle yükselip alçalan bir çubuğa dönüşür. Isınma sırasında yazılan ilk birkaç tuş tekrarı karakteri girişe yazılır ve kayıt etkinleştiğinde otomatik olarak kaldırılır. Tek bir Space dokunuşu yine de bir boşluk yazar, çünkü hold algılama yalnızca hızlı tekrarda tetiklenir.
Isınmayı atlamak için /voice tap ile dokunma moduna geçin veya meta+k gibi bir değiştirici kombinasyonuna yeniden bağlayın. Değiştirici kombinasyonlar kayda ilk tuş vuruşunda başlar.
Konuşmanız, transkript kesinleşene kadar soluk (dimmed) görünerek prompt'ta görünür. Kaydı durdurmak ve metni kesinleştirmek için Space'i bırakın. Transkript imleç konumunuza eklenir ve imleç eklenen metnin sonunda kalır; böylece yazma ve dikteyi istediğiniz sırada karıştırabilirsiniz. Başka bir kayıt eklemek için Space'i tekrar basılı tutun veya prompt'ta başka bir yere konuşma eklemek için önce imleci hareket ettirin:
> refactor the auth middleware to ▮
## space'e basılı tut, "use the new token validation helper" de
> refactor the auth middleware to use the new token validation helper▮
Varsayılan olarak, tuşu bıraktığınızda Claude Code transkripti ekler ve Enter'a basmanızı bekler. Ses ayarları nesnesinde "autoSubmit": true ayarlarsanız, transkript en az üç kelime uzunluğunda olduğu sürece tuşu bıraktığınızda prompt otomatik gönderilir.
Dokunarak kaydetme ve gönderme (Tap to record and send)
Tap modu, tek bir tuş vuruşuyla kaydı açar/kapatır: başlatmak için bir kez dokunun, konuşun, göndermek için tekrar dokunun. Isınma yoktur ve tuşu basılı tutmanız gerekmez. /voice tap ile dokunma modunu etkinleştirin.
Prompt girişi boşken kaydı başlatmak için Space'e dokunun. Kayıt sırasında alt bilgi ● REC · tap to send gösterir. Durdurmak için Space'e tekrar dokunun. Claude Code, transkript en az üç kelime uzunluğunda olduğunda transkripti ekler ve prompt'u otomatik gönderir. Daha kısa transkriptler eklenir ancak gönderilmez; böylece yanlışlıkla yapılan bir dokunuş başıboş bir kelime göndermez.
Üç kelime eşiği, boşluksuz yazılan diller için kelimeleri sayar. Japonca, Çince ve Tayca transkriptler tek tek kelimeleri sayar; böylece tap modunda ve autoSubmit ile hold modunda otomatik gönderilirler.
İlk dokunuş yalnızca prompt girişi boşken kaydı başlatır; böylece mesaj oluştururken normal şekilde boşluk yazabilirsiniz. İkinci dokunuş, giriş içeriğinden bağımsız olarak kaydı durdurur. Kayıt ayrıca 15 saniyelik sessizlikten veya toplam iki dakikadan sonra otomatik durur.
Dikte dilini değiştirme (Change the dictation language)
Sesli dikte, Claude'un yanıt dilini kontrol eden aynı dil ayarını kullanır. Bu ayar boşsa dikte varsayılan olarak İngilizceye döner. VS Code eklentisinde, dil boşsa dikte, İngilizceye dönmeden önce VS Code'un accessibility.voice.speechLanguage ayarını kullanır.
Desteklenen dikte dilleri:
| Dil | Kod |
|---|---|
| Çekçe | cs |
| Danca | da |
| Felemenkçe | nl |
| İngilizce | en |
| Fransızca | fr |
| Almanca | de |
| Yunanca | el |
| Hintçe | hi |
| Endonezce | id |
| İtalyanca | it |
| Japonca | ja |
| Korece | ko |
| Norveççe | no |
| Lehçe | pl |
| Portekizce | pt |
| Rusça | ru |
| İspanyolca | es |
| İsveççe | sv |
| Türkçe | tr |
| Ukraynaca | uk |
Dili /config içinde veya doğrudan ayarlarda belirleyin. BCP 47 dil kodunu veya dil adını kullanabilirsiniz:
{
"language": "japanese"
}
Dil ayarınız desteklenen listede değilse, /voice etkinleştirmede sizi uyarır ve dikte için İngilizceye geri döner. Claude'un metin yanıtları bu geri dönüşten etkilenmez.
Dikte tuşunu yeniden bağlama (Rebind the dictation key)
Dikte tuşu, Chat bağlamında voice:pushToTalk öğesine bağlıdır ve varsayılan olarak Space'tir. Aynı bağlama hem hold hem de tap modlarını kontrol eder. ~/.claude/keybindings.json içinde yeniden bağlayın:
{
"bindings": [
{
"context": "Chat",
"bindings": {
"meta+k": "voice:pushToTalk",
"space": null
}
}
]
}
voice:pushToTalk eylemi aynı anda bir tuş kullanır. Özel bir tuş bağladığınızda, ikinci bir tetikleyici eklemek yerine varsayılan Space bağlamasının yerini alır; bu örnekteki "space": null satırı açıklık içindir ve davranışı değiştirmeden çıkarılabilir.
Hold modunda, v gibi çıplak bir harf tuşu bağlamaktan kaçının; hold algılama tuş tekrarına dayanır ve harf ısınma sırasında prompt'a yazılır. Space kullanın veya ısınma olmadan ilk tuş vuruşunda kayda başlamak için meta+k gibi bir değiştirici kombinasyonu kullanın. Tap modunda ısınma yoktur, bu nedenle çoğu tuş çalışır.
Bazı tuşlar terminal uygulamalarına iletilmez ve hiç bağlanamaz. Örneğin, Caps Lock'u bağlamaya çalışırsanız bir hata gösterir. Tam tuş bağlama sözdizimi ve ayrılmış kısayolların listesi için klavye kısayollarını özelleştirme bölümüne bakın.
Sorun giderme (Troubleshooting)
Sesli dikte etkinleşmediğinde veya kayıt yapmadığında karşılaşılan yaygın sorunlar:
- Voice mode requires a Claude.ai account: bir API anahtarı veya üçüncü taraf sağlayıcıyla kimlik doğruladınız. Claude.ai hesabıyla oturum açmak için
/loginçalıştırın. - Voice mode is disabled by your organization's policy: kuruluşunuz için bir yönetici politikası sesli dikteyi kapatır. Sesli diktenin kuruluşunuz için kullanılabilir olup olmadığını doğrulamak için kuruluş yöneticinize başvurun.
- Microphone access is denied: sistem ayarlarında terminalinize mikrofon izni verin. macOS'ta System Settings → Privacy & Security → Microphone bölümüne gidin ve terminal uygulamanızı etkinleştirin, ardından
/voicekomutunu tekrar çalıştırın. Windows'ta Settings → Privacy & security → Microphone bölümüne gidin ve masaüstü uygulamaları için mikrofon erişimini açın, ardından/voicekomutunu tekrar çalıştırın. Terminaliniz macOS ayarlarında listelenmiyorsa, macOS Mikrofon Ayarlarında Terminal Listelenmiyor bölümüne bakın. - Voice mode requires SoX for audio recording on Linux: yerel ses modülü yüklenemedi ve yedek kurulu değil. Hata mesajında gösterilen komutla SoX'i kurun, örneğin
sudo apt-get install sox. - Voice mode requires a microphone, but SoX could not open an audio capture device: SoX kurulu, ancak ana bilgisayarda ses yakalama aygıtı yok (örneğin headless sunucu veya konteyner). Claude Code'u mikrofonu olan bir makinede çalıştırın. v2.1.195 itibarıyla Claude Code Linux'ta bu durumda bu mesajı bildirir; önceki sürümler SoX zaten kurulu olsa bile SoX kurmanızı isterdi.
- Voice mode could not find a working audio recorder in WSL: WSLg sesi bir ALSA aygıtı yerine PulseAudio üzerinden yönlendirir, bu nedenle SoX'in PulseAudio arka ucunun açıkça kurulması gerekir.
sudo apt install sox libsox-fmt-pulsekomutunu çalıştırın. Yalnızcasoxkurmak,/dev/sndaygıtı olmadığı için WSL'de kayıt yapamayan ALSA arka ucunu getirir. - Voice input is failing repeatedly and has been paused: sesli dikte 10 saniye içinde üç yakalama hatasıyla karşılaştı. Claude Code, bu hataların ilkinden bu yana 10 saniye geçene kadar dikteyi duraklatır. Mikrofonun başlatılamaması veya kaydedicinin hiç ses üretmeden başlayıp durması bir hata sayılır. Bu genellikle bu ana bilgisayardaki mikrofonun veya ses yığınının ses yakalayamadığı anlamına gelir (örneğin headless sunucu, ses geçişi olmayan uzak kabuk veya reddedilen mikrofon izni). Çalışan bir giriş aygıtı doğrulayın, yukarıdaki girdilerden temel nedeni düzeltin ve sesi tekrar tetikleyin. v2.1.202'den önce yalnızca başlangıç hataları duraklamaya sayılırdı.
- Nothing happens when holding Space in hold mode: basılı tutarken prompt girişini izleyin. Boşluklar birikmeye devam ediyorsa sesli dikte büyük olasılıkla kapalıdır; etkinleştirmek için
/voice holdçalıştırın. Yalnızca bir veya iki boşluk görünüp sonra hiçbir şey olmuyorsa sesli dikte açıktır ancak hold algılama tetiklenmiyor. Hold algılama, terminalinizin tuş tekrarı olayları göndermesini gerektirir; bu nedenle tuş tekrarı işletim sistemi düzeyinde devre dışıysa basılı tutulan tuşu algılayamaz. Tuş tekrarı gereksinimini atlamak için/voice tapile dokunma moduna geçin. - Tapping Space types a space instead of recording in tap mode: ilk dokunuş yalnızca prompt girişi boşken kaydı başlatır. Önce girişi temizleyin veya
/voice tapçalıştırarak tap modunda olduğunuzu kontrol edin. - No audio detected from microphone: kayıt başladı ancak sessizlik yakaladı. Doğru giriş aygıtının sistem varsayılanı olarak ayarlandığını ve giriş seviyesinin sessize alınmadığını veya sıfıra yakın olmadığını doğrulayın. Windows'ta Settings → System → Sound → Input bölümünü açın ve mikrofonunuzu seçin. macOS'ta System Settings → Sound → Input bölümünü açın.
- Voice connection failed: kaydınız, bağlantı başarısız olduğu için transkripsiyon hizmetine ulaşmadı. Ağınızı kontrol edin ve tekrar deneyin. Ses yakalamayan bir kayıt, bu mesaj yerine
No audio detected from microphonebildirir. v2.1.200'den önce sessiz bir mikrofon, gerçek sorun giriş aygıtıyken ağ sorununu düşündüren bir bağlantı hatası bildirebilirdi. - Voice stream error: WebSocket upgrade rejected with HTTP
: bir sunucu bağlantınızı gösterilen HTTP durumuyla reddetti; bu bir ağ kesintisi değildir. 400 aralığındaki bir durum genellikle bayat bir oturum açma veya transkripsiyon hizmeti yerine yanıt veren bir proxy veya bot koruma hizmeti anlamına gelir. Oturum açmanızı yenilemek için /loginçalıştırın ve durum devam ederse ağ yolunuzda bir VPN veya proxy olup olmadığını kontrol edin. Reddetme geldiğinde hâlâ kayıt yapıyorsanız, Claude Code 400 aralığı dışındaki bir durumu bu mesajı göstermeden önce bir kez yeniden dener; 400 aralığındaki bir durumu yeniden denemez. v2.1.229 ile v2.1.231 arasında yerel derlemeler bu mesajı göstermedi: Claude Code kayıt yapmaya devam etti, hold modu alt bilgisi hâlâlistening…gösterdi ve kaydı durdurduktan sonraVoice connection failedbildirdi. - No speech detected: ses transkripsiyon hizmetine ulaştı ancak hiçbir kelime tanınmadı. Mikrofona daha yakın konuşun, arka plan gürültüsünü azaltın ve dikte dilinizin konuştuğunuz dille eşleştiğini doğrulayın.
- Transcription is garbled or in the wrong language: dikte varsayılan olarak İngilizcedir. Başka bir dilde dikte ediyorsanız önce
/configiçinde ayarlayın. Dikte dilini değiştirme bölümüne bakın.
macOS Mikrofon Ayarlarında Terminal Listelenmiyor (Terminal not listed in macOS Microphone settings)
Terminal uygulamanız System Settings → Privacy & Security → Microphone altında görünmüyorsa, etkinleştirebileceğiniz bir anahtar yoktur. Terminaliniz için izin durumunu sıfırlayın; böylece bir sonraki /voice çalıştırması yeni bir macOS izin istemi tetikler.
- Terminalinizin mikrofon iznini sıfırlayın:
<bundle-id>yerine terminalinizin tanımlayıcısını koyaraktccutil reset Microphone <bundle-id>komutunu çalıştırın: yerleşik Terminal içincom.apple.Terminalveya iTerm2 içincom.googlecode.iterm2. Diğer terminaller için tanımlayıcıyıosascript -e 'id of app "AppName"'ile arayın.tccutil reset Microphonekomutunu paket kimliği olmadan çalıştırabilirsiniz, ancak bu, Mac'inizdeki Zoom veya Slack gibi her uygulamanın mikrofon erişimini iptal eder. Her uygulamanın bir sonraki kullanımda erişimi yeniden istemesi gerekir; bu nedenle aktif bir görüşme sırasında çalıştırmayın. - Terminalinizden çıkın ve yeniden başlatın: macOS, zaten çalışan bir işlemi yeniden istemez. Terminal uygulamasından pencerelerini kapatarak değil, Cmd+Q ile çıkın ve ardından tekrar açın.
- Yeni bir istem tetikleyin: Claude Code'u başlatın ve
/voiceçalıştırın. macOS mikrofon erişimi için sorar; izin verin.
Ayrıca bakınız (See also)
- Klavye kısayollarını özelleştirme:
voice:pushToTalkve diğer CLI klavye eylemlerini yeniden bağlama - Ayarlar referansı:
voice,languageve diğer ayar anahtarları - Etkileşimli mod: klavye kısayolları, giriş modları ve oturum kontrolleri
- Komutlar:
/voice,/configve diğer tüm komutların referansı
Örnek kullanım senaryosu
Bir geliştirici, kimlik doğrulama middleware'ini yeniden düzenlemek için Claude Code kullanıyor. Uzun bir kod bloğunu incelerken düşüncelerini yazmak yerine sesli dikte kullanmak istiyor.
- Geliştirici, Claude.ai hesabıyla oturum açtığını doğrular (
/login) ve terminalinin macOS'ta mikrofon iznine sahip olduğundan emin olur. - Dikteyi etkinleştirmek için
/voicekomutunu çalıştırır. İlk çalıştırmada mikrofon kontrolü yapılır ve macOS izin istemi görüntülenir; geliştirici izin verir. Varsayılan mod hold modudur. - Prompt'a
refactor the auth middleware toyazar ve imleci sona bırakır. Space tuşuna basılı tutar, alt bilgidekeep holding…ardındanlistening…görünür. "use the new token validation helper" der; metin prompt'ta soluk görünür. - Space'i bırakır; transkript kesinleşir ve imlecin olduğu yere eklenir. Enter'a basarak prompt'u gönderir.
- Daha hızlı bir akış için
/voice tapile tap moduna geçer. Prompt boşken Space'e dokunur,● REC · tap to sendgörünür, konuşur ve tekrar dokunur. Transkript üç kelimeden uzun olduğu için Claude Code prompt'u otomatik gönderir. - Dikte dilini değiştirmek için
/configiçindelanguageayarını"turkish"olarak günceller; böylece Türkçe konuştuğunda transkripsiyon doğru dilde yapılır. - Space yerine
meta+kkombinasyonunu tercih ettiği için~/.claude/keybindings.jsondosyasınavoice:pushToTalkbağlamasınımeta+kolarak ekler; böylece ısınma olmadan ilk tuş vuruşunda kayıt başlar.