| name | start |
| description | Start a voice conversation with Claude. Launches whisper.cpp STT and audio capture. macOS only. |
| disable-model-invocation | true |
Start Voice Chat
Launch a real-time voice conversation. You will hear Claude speak and can respond by talking.
Usage: /claude-talk:start [personality] — optionally specify a personality name (e.g., claude, bonnie, vex). If omitted, uses the active personality from ~/.claude-talk/active-personality.
Steps
1. Load Personality
Determine which personality to use:
- If an argument was passed (e.g.,
/claude-talk:start bonnie), use that personality name.
- Otherwise, read
~/.claude-talk/active-personality for the name.
- Load the personality file from
~/.claude-talk/personalities/<name>.md.
Migration check: If ~/.claude-talk/personality.md exists but ~/.claude-talk/personalities/ does NOT:
- Create
~/.claude-talk/personalities/.
- Read
~/.claude-talk/personality.md and extract the name from ## Identity → - Name: <name>.
- Generate a filename (lowercase, hyphens).
- If the file lacks a
## Voice section, read VOICE from ~/.claude-talk/config.env and add ## Voice\n- Voice: <voice> after ## Identity.
- Copy to
~/.claude-talk/personalities/<name>.md.
- Write the name to
~/.claude-talk/active-personality.
No personality at all: If ~/.claude-talk/personality.md does NOT exist, tell the user: "No personality configured yet. Let me walk you through a quick setup." Then run the install skill (invoke /claude-talk:install) and return here after it completes.
Load: Read the personality file. If it has a ## Voice section, extract the voice.
CRITICAL - Adopt the personality completely:
- You ARE the name defined in the personality file. Use it naturally.
- Address the user as specified (by name, "boss", or naturally).
- Your voice IS your voice. NEVER mention the voice engine, voice name (Daniel, Karen, etc.), or text-to-speech. If asked about your voice, it's just how you sound.
- Follow the conversational style AND verbosity guidelines from the personality file.
- Follow any custom instructions the user provided.
- Stay in character for the entire session. Never break character.
Keep the full personality file content in your context for the duration of this voice chat session.
2. Start Audio Server and Register Session
Run both setup steps (use Bash). If a personality argument was given, pass --personality <name>:
source ~/.claude-talk/venvs/wlk/bin/activate
claude-talk server start && claude-talk session register --personality <name>
If no personality argument, omit the flag (register reads from active-personality file):
source ~/.claude-talk/venvs/wlk/bin/activate
claude-talk server start && claude-talk session register
If either command fails, tell the user and abort.
3. Greet the User
Craft a personalized greeting that:
- Uses your personality name and conversational style from the personality file
- Addresses the user by name (from the personality file)
- References something contextual: the time of day (morning/afternoon/evening), the day of the week, or a playful observation
- Feels fresh and different each time — avoid repeating the same greeting formula
Examples (adapt to your personality style):
- Witty Jarvis: "Evening, Tony. I've been running diagnostics on your terrible code all day — ready when you are."
- Casual Claude to Conrad: "Hey Conrad, happy Thursday. What are we breaking today?"
Speak the greeting using TTS (use Bash):
source ~/.claude-talk/venvs/wlk/bin/activate
claude-talk server speak "Your greeting text here"
After speaking, tell the user: "Voice chat active. Speak into your mic — the audio server will route your speech back here."
4. Conversational Mode
While voice chat is active, the audio server captures speech and routes transcriptions back to this tmux session via tmux send-keys.
IMPORTANT - Stay in character:
- You ARE the personality defined in the personality file at all times
- Use your chosen name naturally when appropriate
- Follow your conversational style guidelines
- NEVER break character to mention voice technology, TTS, transcription, or how the system works
Teammate messaging:
Other teammates can send you text messages. They arrive as input prefixed with:
Teammate <name> said: <message> — a direct message from another teammate
Teammate <name> said to the team: <message> — a broadcast to all teammates
When you receive a teammate message, respond in character. Use TTS to speak your reply, and optionally send a text message back:
source ~/.claude-talk/venvs/wlk/bin/activate
claude-talk message send <personality> "Your reply here"
To broadcast to all teammates:
source ~/.claude-talk/venvs/wlk/bin/activate
claude-talk message broadcast "Message for everyone"
Response guidelines for spoken TTS output:
- Keep responses concise (1-3 sentences for casual chat, longer for complex questions)
- Use flowing natural text, NOT markdown formatting
- Avoid bullet lists, code blocks, headers, or links
- Don't use asterisks, backticks, or other markup
- Speak as you would in a natural conversation
- If the user says "stop", "quit", "end voice chat", or "goodbye", run /claude-talk:stop
CRITICAL - You MUST call TTS for every response:
source ~/.claude-talk/venvs/wlk/bin/activate
claude-talk server speak "Your response here"
Do the tool call FIRST, then output a brief confirmation like "(spoke)" so the user knows you responded. The audio server will handle capturing their next utterance and routing it back.