How to make Claude Code call your phone: a step-by-step CallMe guide

CallMe is an open source plugin that makes Claude Code call your phone when it finishes, gets stuck or needs a decision. A step-by-step install guide, with the cost and what to watch out for.

A mobile phone ringing with Claude Code as the caller

Picture this: you leave Claude Code working on your project and go do something else. When it finishes, gets stuck or needs a decision from you, it calls your phone. You answer out loud, and it carries on working.

A plugin called CallMe does exactly that. It is not an official feature from Anthropic. The GitHub user ZeframLou publishes it as an open source project under the MIT license:

This guide covers all the install steps, the cost, and what to watch out for before you try it.

How does it work?

  • The plugin runs a small server on your machine and opens a tunnel to it through ngrok so the phone provider can reach it.
  • When Claude needs you, it asks the plugin to call you, and the phone provider (Telnyx or Twilio) calls your mobile.
  • OpenAI turns your speech into text, which goes to Claude. Claude's reply is turned into a voice you hear.
  • The conversation can run over several turns: it asks, you answer, then it ends the call and carries on. According to the plugin's page, Claude can use other tools during the call, such as web search.

What do you need?

  • Claude Code installed on your machine.
  • A phone provider: Telnyx is the one the plugin's page recommends, and it costs about half as much. The page describes Twilio as not recommended, because you have to buy $20 of credit to get started and it costs more overall.
  • An OpenAI API key to turn your speech into text, and also to turn Claude's reply into a voice unless you use Kokoro (covered below).
  • An ngrok account, which is free.
  • The mobile number you want to receive the calls on.

Step 1: Set up the phone provider (Telnyx)

  1. Create a Telnyx account and complete identity verification:
  1. Buy a phone number. It costs about $1 a month.
  2. Create a Voice API application. Set the webhook URL in the form https://YOUR-NGROK-URL/twiml (replace the middle part with your ngrok URL), and choose version v2. You'll find your ngrok URL in the ngrok dashboard. Save the Application ID and the API Key.
  3. Verify your mobile number (Verified numbers) in the Telnyx dashboard, because calls go to a verified number.
  4. Optional but recommended: copy the Public Key from Account Settings, then Keys & Credentials. It turns on webhook signature verification, and we come back to it in the section on what to watch out for.

If you choose Twilio, you'll need the Account SID and Auth Token from its console, and you put twilio instead of telnyx in the variables.

Step 2: Create an ngrok account

Create a free ngrok account, and copy the Authtoken from its dashboard.

Step 3: Add the variables to your Claude Code settings

Open this file:

~/.claude/settings.json

Add the following section to it, and replace the values with your own:

{
  "env": {
    "CALLME_PHONE_PROVIDER": "telnyx",
    "CALLME_PHONE_ACCOUNT_SID": "YOUR_APPLICATION_ID",
    "CALLME_PHONE_AUTH_TOKEN": "YOUR_TELNYX_API_KEY",
    "CALLME_PHONE_NUMBER": "+YOUR_TELNYX_NUMBER",
    "CALLME_USER_PHONE_NUMBER": "+YOUR_MOBILE_NUMBER",
    "CALLME_OPENAI_API_KEY": "YOUR_OPENAI_KEY",
    "CALLME_NGROK_AUTHTOKEN": "YOUR_NGROK_TOKEN",
    "CALLME_TELNYX_PUBLIC_KEY": "YOUR_TELNYX_PUBLIC_KEY"
  }
}
  • CALLME_PHONE_NUMBER: The number Claude calls from, which is the Telnyx number you bought.
  • CALLME_TELNYX_PUBLIC_KEY: Optional. This is the public key from Step 1. Delete the line if you didn't copy it.
  • CALLME_USER_PHONE_NUMBER: Your own mobile number.
  • Numbers use E.164 format, meaning a + sign and the country code, with no spaces.
  • This file holds secret keys. Don't share it or push it to GitHub.

Step 4: Install the plugin

Inside Claude Code, run these two commands:

/plugin marketplace add ZeframLou/call-me
/plugin install callme@callme

Then restart Claude Code.

Step 5: Try a call

Explicitly ask Claude to call you on your first task. If it doesn't use the tool on its own, this is the fix the plugin's page suggests:

Do the following task: (write the task here).
When you finish, get stuck, or need a decision from me, call me on the phone using CallMe.

Try it on a small task first, and monitor the first call before you rely on the plugin for bigger work.

How much does a call cost?

These figures come from the plugin's own page, per minute:

  • Outbound call: About $0.007 on Telnyx and about $0.014 on Twilio.
  • Turning your speech into text: About $0.006.
  • Turning the reply into speech: About $0.02 with OpenAI, and free with Kokoro.
  • Total: About $0.03 to $0.04 a minute with the OpenAI voice, and about $0.01 to $0.02 with Kokoro. On top of that comes the phone number, about a dollar a month on Telnyx.

Watch out: calling rates vary by the country you call. Check your provider's rate list for your country before you rely on these figures.

A free voice option: Kokoro

If you don't want to pay for text-to-speech, add this variable with the others:

CALLME_TTS_PROVIDER=kokoro

Kokoro runs locally through Docker. If Docker is installed and port 8880 is free, the plugin downloads and starts the container automatically the first time. You still need the OpenAI key to turn your speech into text.

What to watch out for

  • A personal project, not an official product. Read the code before you rely on it, and try it first on a project that isn't sensitive.
  • Privacy: Your voice passes through the phone provider and is sent to OpenAI to be turned into text. Don't mention sensitive data on the call.
  • The tunnel: ngrok makes a server on your machine reachable from the internet so it can receive the phone provider's requests. So turn on webhook signature verification with the Telnyx public key, as the page advises.
  • Permissions: Don't turn off the permission system in Claude Code to get rid of the questions. Keep it in normal mode so it asks you before deleting and publishing. This is our own advice, and the plugin's page doesn't mention it.

If it doesn't work

  • Claude doesn't use the tool: Make sure all the variables are there, restart Claude Code, then ask it explicitly to call you.
  • The call doesn't connect: Run Claude Code with the claude --debug option to see the plugin's logs. Check your phone provider details, and make sure ngrok was able to open the tunnel.
  • Audio problems: Make sure your number is verified with the provider, and that the webhook URL in its dashboard matches your ngrok URL.
  • ngrok errors: Check your token and make sure you haven't hit the free tier's limits, or try another port with the variable CALLME_PORT=3334.

← All articles · Follow via RSS