Angelia

Koren Gast · Updated

Claude Code notifications and approvals on your phone

You start a long task in Claude Code and walk away. Twenty minutes later you come back, and it has waited eighteen of them for a yes. This page fixes that in two steps. First, a notification on your phone when Claude Code finishes or needs you: ten lines in a settings file, no extra software. Second, an answer to the permission prompt from the phone, so the work goes on while you are away. I built Angelia, which does the second step, so I'll say where each tool fits.

Step 1: a notification with hooks

Claude Code runs hooks: shell commands it starts on events. Two events matter here. Stop fires when Claude Code finishes its answer. Notification fires when it needs you, for example for a permission prompt (permission_prompt) or when it waits for your input (idle_prompt).

The simplest way to reach a phone is ntfy: install its app, subscribe to a topic, and anything posted to that topic arrives as a push notification. Add this to ~/.claude/settings.json:

{
  "hooks": {
    "Stop": [
      { "hooks": [{ "type": "command", "command": "curl -s -d 'Claude Code is done' ntfy.sh/YOUR-RANDOM-TOPIC" }] }
    ],
    "Notification": [
      { "matcher": "permission_prompt",
        "hooks": [{ "type": "command", "command": "curl -s -d 'Claude Code needs your yes' ntfy.sh/YOUR-RANDOM-TOPIC" }] }
    ]
  }
}

This tells you that Claude Code waits. It does not let you answer. For that you must go back to the terminal, or use step 2.

Step 2: approve from the phone

There are three ways to answer a prompt without the terminal.

The four ways compared covers when each fits.

How approvals work in Angelia

Install it and pair a chat (step by step). Under permission_mode: acceptEdits, Claude Code edits files on its own and asks before it runs other commands. The question comes to the chat:

🔐 Bash: npm test
Reply "yes 6b480a6f" or "no 6b480a6f".

The "done" notification comes for free: the answer itself arrives as a chat message, after short progress lines while it works.

Fewer prompts

Each profile has a permission mode. default asks before edits and commands. acceptEdits asks only before commands. plan only plans. bypassPermissions asks nothing. Use it only in a profile that you alone write to, and whose folders you can afford to lose. Angelia also writes deny rules for your credentials and the other profiles' folders into every profile. A deny rule stops Claude Code's file tools, not every program a command starts, so keep commands asking in a profile other people can write to.

Try Angelia

curl -fsSL https://useangelia.com/install | sh

It checks the release's signature, then a wizard pairs your first chat. Free and open source (MIT). How it works · Security model · GitHub