Talk to Claude about your projects over the phone
Project description
Claude Code Voice
Voice conversations with Claude Opus 4.5 about your code.
Talk through problems, brainstorm ideas, or get a code review — all over the phone.
Quick Start
# Install
pip install claude-code-voice
# One-time setup
claude-code-voice setup
# Register a project
cd your-project
claude-code-voice register
# Start everything (server + tunnel + config)
claude-code-voice start
That's it! Now you can:
- Have Claude call you:
claude-code-voice call "debug the auth flow" - Call Claude: Dial your Vapi number and Claude answers with your project loaded
What You Need
Before running setup:
- Vapi account — https://vapi.ai (free to sign up, $10 credit included)
- Vapi API key — https://dashboard.vapi.ai/api-keys
- Vapi phone number — https://dashboard.vapi.ai/phone-numbers (~$2/month)
- Node.js — for localtunnel
Note: New Vapi accounts get $10 free credit — enough to test everything without spending anything!
Features
| Feature | Description |
|---|---|
| Opus 4.5 | Best-in-class reasoning for technical discussions |
| Project context | Git status, recent files, todos loaded automatically |
| Live tools | Claude reads files and searches code during calls |
| Auto-transcripts | Every call saved as markdown |
| Personalized | Claude greets you by name |
| Inbound calls | Call your number and Claude answers |
Commands
claude-code-voice setup # Configure API key, phone, name
claude-code-voice register # Register current project
claude-code-voice start # Start server + tunnel (recommended)
claude-code-voice call [topic] # Have Claude call you
claude-code-voice status # Check configuration
claude-code-voice config name <name> # Update your name
claude-code-voice config show # Show all config
claude-code-voice history # View past calls
Customization
Change voice, model, or language:
# Voice (provider:voiceId)
claude-code-voice config voice openai:nova # OpenAI Nova
claude-code-voice config voice elevenlabs:rachel # ElevenLabs Rachel
claude-code-voice config voice deepgram:asteria # Deepgram Asteria
# Model
claude-code-voice config model claude-sonnet-4-20250514 # Use Sonnet 4
# Language
claude-code-voice config language es # Spanish
claude-code-voice config language fr # French
Supported voice providers: openai, elevenlabs, deepgram, playht, azure
How It Works
You ──call──▶ Vapi Phone ──webhook──▶ Your Server ──context──▶ Claude Opus 4.5
│
reads your code
- Setup stores your Vapi credentials and creates tools
- Register snapshots project context (git, files, todos)
- Start runs server + tunnel, auto-configures Vapi
- Call — Claude has full context about your project
The start Command
The start command is the easiest way to get everything running:
claude-code-voice start
It automatically:
- Kills any existing server on port 8765
- Starts the context server
- Starts localtunnel and waits for URL
- Updates all Vapi tools with the new URL
- Configures inbound call webhooks
- Shows your Vapi number for inbound calls
Just keep that terminal open and you're ready for calls.
Transcripts
Transcripts auto-save to ~/.claude/skills/call/data/transcripts/ when calls end.
Each transcript includes:
- Full conversation
- AI-generated summary
- Call metadata (duration, project, topic)
Troubleshooting
"Connection issues" or "404 errors"
Run claude-code-voice start — it auto-configures everything when the tunnel URL changes.
"I don't recognize this number"
Call from the phone number you used during setup.
Claude can't read files during call
Make sure claude-code-voice start is running in a terminal.
Check your configuration
claude-code-voice status
As a Claude Code Skill
For /call directly in Claude Code:
git clone https://github.com/abracadabra50/claude-code-voice-skill.git
ln -s /path/to/claude-code-voice-skill ~/.claude/skills/call
Then use /call in conversations.
Manual Setup (Advanced)
If you prefer manual control over the server and tunnel:
# Terminal 1: Start server
claude-code-voice server
# Terminal 2: Start tunnel
npx localtunnel --port 8765
# Terminal 3: Configure (run after each tunnel restart)
claude-code-voice config server-url https://xxx.loca.lt
claude-code-voice configure-inbound
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_code_voice-0.1.5.tar.gz.
File metadata
- Download URL: claude_code_voice-0.1.5.tar.gz
- Upload date:
- Size: 19.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef06fb26043e67f370508d79836eb628992877bb7ab7ca47eb06b9062a23f5ed
|
|
| MD5 |
0b919f8900fdbcc280386c7f7f31b4a9
|
|
| BLAKE2b-256 |
b1347ec4f025e1878ca81bb0252e455bbe4e34beca1e9fe3a11cd6f7af1eb10f
|
Provenance
The following attestation bundles were made for claude_code_voice-0.1.5.tar.gz:
Publisher:
publish.yml on abracadabra50/claude-code-voice-skill
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_code_voice-0.1.5.tar.gz -
Subject digest:
ef06fb26043e67f370508d79836eb628992877bb7ab7ca47eb06b9062a23f5ed - Sigstore transparency entry: 797434631
- Sigstore integration time:
-
Permalink:
abracadabra50/claude-code-voice-skill@c567f700a914dcfaf72a6b167e87da0978cfa4ab -
Branch / Tag:
refs/heads/main - Owner: https://github.com/abracadabra50
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c567f700a914dcfaf72a6b167e87da0978cfa4ab -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file claude_code_voice-0.1.5-py3-none-any.whl.
File metadata
- Download URL: claude_code_voice-0.1.5-py3-none-any.whl
- Upload date:
- Size: 20.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22b07500f9c0c875a0a6395137d6aba6245eb3159ee45108e43cf5e2557ca374
|
|
| MD5 |
c32c729ad41daf2d822a1bf218beeff3
|
|
| BLAKE2b-256 |
7481deeac50175d82f07bd955baff91dba87c695cd5bfdae014e71d817fff9b7
|
Provenance
The following attestation bundles were made for claude_code_voice-0.1.5-py3-none-any.whl:
Publisher:
publish.yml on abracadabra50/claude-code-voice-skill
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_code_voice-0.1.5-py3-none-any.whl -
Subject digest:
22b07500f9c0c875a0a6395137d6aba6245eb3159ee45108e43cf5e2557ca374 - Sigstore transparency entry: 797434639
- Sigstore integration time:
-
Permalink:
abracadabra50/claude-code-voice-skill@c567f700a914dcfaf72a6b167e87da0978cfa4ab -
Branch / Tag:
refs/heads/main - Owner: https://github.com/abracadabra50
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c567f700a914dcfaf72a6b167e87da0978cfa4ab -
Trigger Event:
workflow_dispatch
-
Statement type: