Skip to content
← All guides
Guide

How to Get a Phone Call When Codex Finishes (or Needs a Decision)

September 21, 2026

You started a long Codex run in the terminal, tabbed away to do something useful, and came back twenty minutes later to find Codex paused on an approval prompt it had been holding the entire time. The task wasn't blocked on anything hard. It was blocked on you, and you weren't looking.

This is the standing tax on an autonomous coding agent, and Codex CLI hits it more than most — by design. Its approval model is careful: it stops to ask before running a command outside its sandbox, before applying a patch, before anything it isn't confident you'd want. Each pause is the safe thing to do, and each is a place your run sits idle while your attention is elsewhere.

This guide covers the practical ways to close that gap — from Codex's own notification up to a phone that rings — and where each fits. None of it is Codex-only: AgentCall works with any MCP client that allows long-running tools. Codex is just where "waiting on approval" bites hardest.

The two moments worth interrupting your day

Only two Codex events are worth pulling you out of what you're doing:

  1. Codex finished. The run is done (or it failed) and there's nothing to do until you look.
  2. Codex is blocked. It hit a decision it won't make alone — an approval, an ambiguous requirement, a destructive command — and it's waiting before it continues.

The first is a notification: you'll get to it when you get to it. The second is an escalation: every minute you don't answer is a minute of idle agent. Most setups solve the first and ignore the second — the one that actually costs you time.

Option 1: Codex's built-in notification (only if you're at the machine)

Codex can raise a notification when a turn ends or it wants your attention. It's the lowest-effort option, worth turning on regardless.

The catch is that it lands on the machine running Codex. Tabbed to another app, it helps; walked to a meeting or with the lid closed, it fires where nobody's looking — exactly when you needed it. A nudge for when you're nearby, not a safety net.

Option 2: Codex's notify hook to a push on your phone

Codex can run a program of your choosing when events fire, handing it event data as JSON. Point that program at a push service and the alert follows you off the desk:

  • ntfy.sh — open-source pub-sub push; free, self-hostable, phone app.
  • Pushover — one-time paid, reliable delivery.
  • Slack / Telegram — post to a channel or bot via a webhook.

This is a real improvement — the alert reaches your pocket. But every one of these is one-way: it tells you something happened; it can't take your answer. You still have to get back to the machine and type the reply before Codex moves. For "it finished," that's fine. For "it's blocked on an approval," you've been told about a decision you still have to walk back to make.

Option 3: A phone call that takes your answer — AgentCall

For the blocked case, the useful escalation isn't a louder alert but a two-way channel that resolves the decision on the spot. That's AgentCall — a pure-MCP voice bridge. When your agent needs a decision, an approval, or a next step, your phone rings. Codex tells you what it's stuck on in its own words, you talk it through, and it resumes — all in one call. The answer you speak is the agent's answer; a twenty-minute stall clears in a thirty-second call, with no return to the terminal to type it.

What matters for this specific problem:

  • No AI on the phone. No chatbot sits between you and your agent — your speech is transcribed for Codex, Codex's words are spoken to you, and nothing gets put in its mouth.
  • You set what "matters." Standing rules, in plain language, decide which events ring you — irreversible actions, approvals, completion, failures — so it isn't noise.
  • Mishearing can't cause damage. Transcription is untrusted, so the agent confirms destructive instructions out loud first — which fits Codex, since a spoken "yes" often approves exactly the command it paused on.
  • Miss it and nothing breaks. No answer in a few minutes and Codex is told the call went unanswered and proceeds on its best judgment; the missed call sits in History, with optional voicemail.
  • Your code never leaves your machine. AgentCall sees only the words your agent says aloud — never your repo, terminal, or files — and only on your signed-in devices.

Because AgentCall is an MCP server, the direct pattern is Codex calling the request_human tool when it hits a decision — the spoken reply flows straight back into the run, no hook required.

One straight answer on support: Claude Code is the client we've tested end to end; Codex CLI works with AgentCall in beta — same tool contracts, conversation flow still being shaken out. Any other MCP client that allows long-running tools should work too, but we haven't verified it, so we won't pretend otherwise.

Connecting Codex

AgentCall is a single Streamable HTTP MCP endpoint. Add it to ~/.codex/config.toml:

toml
[mcp_servers.agentcall]
url = "https://agentcall.io/api/mcp"
tool_timeout_sec = 300

Keep the 300-second timeout — a ring waits up to about three minutes and stand_by up to four, so a shorter one cuts it off. Then authenticate once with the account you use in the app:

bash
codex mcp login agentcall

If you also run Claude Code, it reaches the same endpoint with one command:

bash
claude mcp add --transport http --scope user agentcall https://agentcall.io/api/mcp

Then add AgentCall to your phone's home screen so it can ring you — that "add to home screen" is the install; there's no separate app to download — and place a test call from the Quickstart. Free while in beta, speech minutes included — no card, no trial clock.

Note on the name: AgentCall.io is voice escalation for coding agents. It is not agentcall.co, an unrelated programmable SMS/voice API SDK for building telephony into your own app. Different product, different job.

Which rung for which moment

  • At your desk: Codex's built-in notification. Free, instant, good enough when you're in the room.
  • Away, "tell me when it's done": Codex's notify hook to ntfy / Pushover / Slack — a one-way ping, right for completion and failure.
  • Away, "it's blocked and I need to decide": a phone call. When idle-agent minutes are the cost, an escalation you can answer beats one you walk back to.

Most people run both tiers: a cheap push for "finished," a ringing phone for "needs a decision now." Set the standing rules once and stop babysitting a paused terminal.

Next: Connect your agent in the Quickstart → · The same ladder for Claude Code →