Skip to main content

FAQ

Is it open source?

Mostly. The CLI, the laptop server, and the phone web client are MIT-licensed: everything you need to self-host with your own API key and read every line of what talks to Claude Code. The native iOS app and the hosted relay/push/billing service behind the zero-config install are proprietary; they power the hosted experience but aren't required to run Voxa yourself.

Is it free?

Self-hosting is free forever: run the server with your own Gemini key, no relay needed, see self-hosting. The hosted zero-config path (the default when you just run voxa) is free to start, with paid plans for more agent minutes once you're past the free tier. See voxa.space/pricing for the details.

What platforms does it support?

Tested and supported today: the laptop server on macOS, paired with the native iPhone app. Any mobile browser also works as a phone client, no app install required, if you're on Android or don't want to install anything. Windows, Linux, and Android are on the roadmap.

One nuance worth knowing: attaching to an already-open GUI terminal (iTerm2, Terminal.app, Ghostty, Warp, VS Code) is macOS only, since it relies on macOS-specific scripting and Accessibility APIs. Attaching over tmux works anywhere the server itself runs.

Does Voxa need my Anthropic API key?

No. Voxa reuses your existing Claude Code login to drive sessions, the same login you already use from the terminal. ANTHROPIC_API_KEY is only read as an override, if you explicitly want Claude Code to authenticate a different way than your normal login.

Does my code leave my laptop?

Execution never does. Claude Code itself, your files, and command output stay on your laptop in every mode. In hosted zero-config mode, your voice audio and the arguments/results of tool calls do pass through Voxa's cloud, since that's where the metered Gemini Live session actually runs. The relay that matches your phone to your laptop only sees encrypted-in-transit frames matched by an unguessable pairing code, not their contents. See security for the full breakdown of what each component can see.

Can I keep my phone locked?

Yes. Calls ring on the lock screen through CallKit, the same system that handles regular phone calls, so you don't need to unlock your phone or have the app open in the foreground for it to ring.

What happens if I decline a call?

It stops ringing on every device you have paired, not just the one you declined on. It'll ring again the next time there's something new to tell you, the next finished task or the next thing that needs your input.

Can I use it with a browser instead of the iOS app?

Yes. Every pairing QR code and pairing link also opens in a plain mobile browser, no install required. You lose agent-initiated CallKit calls (the phone won't literally ring like a call), but voice, transcripts, and terminal control all work the same way.

How many Macs can I pair?

Up to 20 per account. Each paired Mac shows up in a Connected Macs list on the phone, where you can rename it, and toggle whether it's allowed to ring you or only ever shows a banner instead. Macs that haven't been seen in 30 days are automatically pruned from the list.

What terminals are supported?

tmux, iTerm2, Terminal.app, and, through macOS's Accessibility API, effectively anything else with a visible text view, including Ghostty, Warp, and VS Code's integrated terminal. See terminals for exactly what Voxa can do in each one and what permission each needs.

Can Voxa run dangerous commands?

There's a gate in front of anything destructive, whether it's you dictating a command or Claude trying to run one on its own: recursive deletes, force pushes, dropping a database, deploying to production, and similar patterns all turn into an approval card you have to confirm before anything runs. One honest caveat: managed sessions run Claude with permissions bypassed (--dangerously-skip-permissions / bypassPermissions), so Claude's own built-in trust prompts don't show up in that mode. Voxa's danger gate and your approvals on the phone are what stand in for that layer. See terminals for the full rundown.