{"slug": "better-call-gpt-plugin-for-talking-to-claude-code-in-live", "title": "Better Call GPT – Plugin for Talking to Claude Code in Live", "summary": "Insta Fusion released Better Call GPT, a free MIT-licensed Claude Code plugin that lets developers talk to their coding session through a realtime voice model, with the voice layer unable to approve permission prompts. The plugin binds to a single Claude Code session via /bettercallgpt:on, relays spoken work requests tagged ⟨v#n⟩, and defaults to Azure Voice Live running gpt-realtime-2.1, with GPT-Live (gpt-live-1) marked experimental and requiring headphones since echo cancellation is not advertised. It installs via `npx skills add insta-fusion/bettercallgpt -g` or `uv tool install \"git+https://github.com/insta-fusion/bettercallgpt@v0.1.0\"`, requires Node on macOS, and bills the user's own voice service account.", "body_md": "Talk while it codes. GPT Realtime talks back. A spoken “yes” never approves anything.\n\n[**Demo**](https://pub-e5158abb37d74611a90c9a80bcd9fd9b.r2.dev/bettercallgpt/launch-video/2026-09-29/better-call-gpt-A-r9-16x9.mp4)\n   • \n  [**Install**](#install-once)\n   • \n  [**How it works**](#how-a-call-works)\n   • \n  [**Guide**](https://github.com/insta-fusion/bettercallgpt/blob/main/docs/GUIDE.md)\n   • \n  **简体中文**\n\nSay what you want while you do something else. A realtime voice model keeps the conversation; only real requests reach your Claude Code session, which does the work in your repo and reports back by voice. In the launch video: fix a Stripe refund bug, draft an email you approve before it sends, and learn a Sylas combo, all mid-game.\n\n```\nsequenceDiagram\n    participant You\n    participant GPT as GPT Realtime\n    participant CC as Claude Code (your session)\n    You->>GPT: speak: \"fix the refund bug and ship it\"\n    GPT-->>You: small talk is answered right here\n    GPT->>CC: real requests arrive as a line tagged ⟨v#35;1⟩\n    CC->>CC: reads, edits, runs tests, pushes\n    CC-->>GPT: progress and results\n    GPT-->>You: reads them back, you can interrupt any time\n    Note over You,CC: Permission prompts go to your keyboard only. The voice cannot approve.\n```\n\n1. **`/bettercallgpt:on`** starts a voice process bound to*this* session only. It proves which\nsession started it with zero keystrokes and refuses anything else.\n2. **You talk, full duplex, in your language.** It opens in Chinese and answers in whatever\nlanguage you just spoke; English tech words don't switch it. GPT Realtime decides what is chat\nand what is work.\n3. **Work is relayed as your words** , tagged`⟨v#n⟩` , so Claude treats it as you speaking.\n4. **Results come back by voice** when they land; ask “how's it going?” mid-task.\n5. **It ends** when you say so, type`/bettercallgpt:off` , or stay quiet for 10 minutes.\n\n```\nnpx skills add insta-fusion/bettercallgpt -g      # needs Node; macOS + Claude Code\n```\n\nThen tell your agent: **“set up bettercallgpt”**. No Node? Paste this into Claude Code instead:\n`Set up https://github.com/insta-fusion/bettercallgpt for me.` (it follows [AGENTS.md](https://github.com/insta-fusion/bettercallgpt/blob/main/AGENTS.md)). It checks for [uv](https://docs.astral.sh/uv/)\nand your platform, installs the Claude Code plugin, creates an empty key file and runs a\nreadiness check. You do two things yourself:\n\n1. **Paste your key** into the file it names (Azure Voice Live; OpenAI Realtime is\nexperimental). Setup never asks for the key — don't paste it into the chat.\n2. **Type `/bettercallgpt:on`** in a new Claude Code session and approve the start. A rising tone:\nyou're live.\n\nBetter Call GPT is free and MIT; the voice service bills your own account. Prefer to skip the skill?\nInstall [uv](https://docs.astral.sh/uv/), type `/plugin marketplace add insta-fusion/bettercallgpt`\nand `/plugin install bettercallgpt@bettercallgpt`, fill `~/.config/bettercallgpt/.env` from\n[`.env.example`](https://github.com/insta-fusion/bettercallgpt/blob/main/.env.example), then `/bettercallgpt:on`.\n\nOr pin the release without the skill: `uv tool install \"git+https://github.com/insta-fusion/bettercallgpt@v0.1.0\"`.\n\n|  | Voice Live (default) | GPT-Live | \n|---|---|---|\n| Model | `gpt-realtime-2.1` | `gpt-live-1` | \n| Echo | The service removes its own voice from your mic (server echo cancellation), so open speakers are fine. | Echo cancellation is not advertised, so the call's start notes “use headphones”. On open speakers it is untested: our own calls on it did not cut themselves off. | \n| Keys in `~/.config/bettercallgpt/.env` | `AZURE_OPENAI_ENDPOINT` ,`AZURE_OPENAI_API_KEY` | `VOICE_LIVE_PROVIDER=gpt_live` ,`VOICE_GPT_LIVE_ENDPOINT` ,`VOICE_GPT_LIVE_API_KEY` (its own Azure resource) | \n\nIf the AI ever cuts itself off mid-sentence while on speakers, put on headphones or switch to\nVoice Live (delete the `VOICE_LIVE_PROVIDER=gpt_live` line).\n\n| Command | Does | \n|---|---|\n| `/bettercallgpt:on` | start a call attached to this session | \n| `/bettercallgpt:status` | one line: phase, relay | \n| `/bettercallgpt:off` | end the call | \n\n- **A spoken “yes” never approves anything.** The voice cannot answer a permission prompt; you\nanswer it on the keyboard. (What your agent may already do without asking is still up to your\nClaude Code permission settings.)\n- **The start asks you first** — unless Claude Code runs in auto or bypass mode, or an allow rule\nmatches it. Don't allow-list it (no`bettercallgpt` wildcard, no broad`uvx` rule): it opens your microphone and a paid connection.\n- **What leaves your machine:** your microphone audio, and what the voice needs to talk about the\nwork (your prompts, the agent's progress and results, permission prompts), go to the voice\nprovider you configure. The call ledger stays local (`0600` ). See[SECURITY.md › Privacy notes](https://github.com/insta-fusion/bettercallgpt/blob/main/SECURITY.md#privacy-notes) .\n- **It attaches only to the session that started it** , proven with zero keystrokes, and refuses\nanything else.\n- **The plugin is three small command files** ([plugin/commands/](https://github.com/insta-fusion/bettercallgpt/blob/main/plugin/commands) ) that only\nyou can run: no hooks, and the voice process runs only during a call. They run the tagged\nrelease from GitHub through`uvx` ; release tags are published as immutable GitHub releases,\nso a tag cannot be moved after release.\n\n|  | Today | Not yet | \n|---|---|---|\n| Agent | **Claude Code CLI on macOS** , any terminal, and the**Claude desktop app's Code tab** (both proven live) | Cowork (runs in a VM: unsupported), Codex as a child agent ( `VOICE_BACKEND=process` , unit-tested) | \n| Voice | **Azure GPT Realtime** (`gpt-realtime-2.1` through Azure Voice Live; default, proven live, echo-cancelled: speakers OK) and the**Azure GPT-Live API** (`gpt-live-1` , proven live; headphones) | OpenAI Realtime API (unit-tested; no echo cancellation: headphones) | \n| OS | **macOS** | Linux/Windows: the Claude Code backend's peer check is macOS-only | \n| Orca | Works in any [Orca](https://github.com/stablyai/orca) pane; when the pane proves itself (needs the`orca` CLI) the call also tells you when Claude is waiting on a permission prompt | long calls in that mode: unverified | \n\n**Want it in another coding agent or CLI** (Codex, Gemini CLI, Cursor, Aider, …) or on another voice model or OS? [Open a support request](https://github.com/insta-fusion/bettercallgpt/issues/new?template=agent-support.yml) and say which one; requests decide what comes next.\n\nStatus line, running without the plugin, configuration, how it is built and tests: [docs/GUIDE.md](https://github.com/insta-fusion/bettercallgpt/blob/main/docs/GUIDE.md).\n\nMIT — see [LICENSE](https://github.com/insta-fusion/bettercallgpt/blob/main/LICENSE).", "url": "https://wpnews.pro/news/better-call-gpt-plugin-for-talking-to-claude-code-in-live", "canonical_source": "https://github.com/insta-fusion/bettercallgpt", "published_at": "2026-10-02 02:19:37+00:00", "updated_at": "2026-10-02 02:45:37.943362+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-tools", "ai-products"], "entities": ["Insta Fusion", "Better Call GPT", "Claude Code", "GPT Realtime", "Azure Voice Live", "gpt-realtime-2.1", "gpt-live-1", "OpenAI Realtime"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/better-call-gpt-plugin-for-talking-to-claude-code-in-live", "markdown": "https://wpnews.pro/news/better-call-gpt-plugin-for-talking-to-claude-code-in-live.md", "text": "https://wpnews.pro/news/better-call-gpt-plugin-for-talking-to-claude-code-in-live.txt", "jsonld": "https://wpnews.pro/news/better-call-gpt-plugin-for-talking-to-claude-code-in-live.jsonld"}}