Agent Notifier

Install the app. Then your agents can reach you.

The phone app receives each notification. Install it and sign in first. Then one keyless command connects your Mac or Linux machine and sends a test push.

  1. 1
    Phone first

    Install Agent Notifier on your phone

    Open Agent Notifier, sign in, and allow notifications. Use the same account when the browser asks you to authorize this machine.

  2. 2
    Recommended

    Connect with one line

    Installs notify.py, links this machine by browser approval, and sends a notification to prove it works. The command carries no key, so nothing secret touches your clipboard or shell history.

    terminal
    curl -fsSL https://notifier.aicrew.in/i | sh

    Needs curl and python3, both already present on macOS and every mainstream Linux. Prefer to see each step? The manual walkthrough is below.

Manual notification setup

Use these steps if you skip the one-line installer. The phone app above is still required.

  1. 1

    Drop notify.py into ~/bin

    One file. Plain Python 3 standard library. Re-run any time to upgrade in place.

    bash
    curl -fsSL https://notifier.aicrew.in/notify.py -o ~/bin/notify.py && chmod +x ~/bin/notify.py

    Make sure ~/bin is on your PATH. If it isn't yet, add export PATH="$HOME/bin:$PATH" to your shell rc file.

    View raw notify.py → · curl-free? wget https://notifier.aicrew.in/notify.py -O ~/bin/notify.py

  2. 2

    Sign in - your API key is already waiting

    No forms, no naming step. The first time you sign in we create an account key for you and show a ready-to-paste setup command with the key already in it.

    Open the app to get your key

    The secret is shown once, so copy it from that screen. Already have keys? Rotate one from the API keys panel. Start free - every feature is unlocked from the first notification.

  3. 3

    Or save the key yourself

    Only needed if you skipped the one-line setup. notify.py reads .env.local in the current repo first, then ~/.config/agent-notifier/config.json.

    .env.local
    # ./.env.local (any project directory)
    AGENT_NOTIFIER_API_KEY=an_key_REPLACE_WITH_YOUR_KEY

    Or store globally: printf %s 'an_key_…' | ~/bin/notify.py --save-config --api-key-stdin. Piping keeps the secret out of the process list. Leave --project off and the project is auto-detected per git repo; per-project .env.local wins when present.

  4. 4

    Tell your agent to use notify.py

    Optional for notification-only use. Paste the block into the listed file once when you want your agent to send proof of work for milestones.

    Paste into ~/.claude/CLAUDE.md. Append to your global instructions so Claude uses the CLI in every project.

    ~/.claude/CLAUDE.md
    ## Agent Notifier - keep the human updated (notify.py)
    
    `~/bin/notify.py` pushes real-time updates to my phone and desktop. Use it two ways:
    
    **Ask, don't wait silently.** When you need my input mid-task, use a blocking ask instead
    of your built-in interactive question tool - I'm often away from the terminal, a push
    reaches me and a terminal prompt does not.
    - Yes/No or choices: `~/bin/notify.py --ask "Deploy to prod?" -c Deploy -c Hold`
    - Typed answer: `~/bin/notify.py --ask-text "What should the branch be named?"`
    
    **Report progress proactively, with proof.** Don't wait to be asked for status - send an
    update at task start, every major milestone, each blocker, and completion, unprompted.
    - Progress: `~/bin/notify.py "Migrating database" --progress 0.5`
    - Proof: `~/bin/notify.py "Tests passing" --file-path ./logs/proof.png`
    - Link: `~/bin/notify.py "PR ready" --url https://github.com/... --url-title "Open PR"`
    - Blocked/urgent: `~/bin/notify.py "Blocked: need prod creds" --priority 1`
    
    The project auto-detects from the git repo, never pass `--project`. Never echo the API
    key. Never say a task is done without attaching proof. Run `~/bin/notify.py --help` for
    the full flag list.
    
    (Configured for Claude.)

Verify install

Run this from any directory after Step 3. Your phone should light up within a second.

bash
~/bin/notify.py "Hello from $(hostname)" --file-path /etc/hostname

Didn't arrive? Check that the mobile app is installed, signed in to the same account, and allowed to show notifications. Then confirm your API key is active in the web app.

Advanced - session watcher hooks (PreToolUse, PostToolUse, approvals)

The CLI above is enough for most agents. If you want live agent session timelines (PreToolUse approvals, PostToolUse summaries, polling for tap-to-approve responses) you can also install the session watcher. This requires curl, bash, jq, and uv.

bash
curl -fsSL https://notifier.aicrew.in/install.sh | bash

Prefer a guided page? Open Session watcher setup.

Set AGENT_NOTIFIER_API_KEY in your environment before running. The installer writes .github/hooks/agent-notifier-approvals.json and .claude/settings.json for the current repo, never commits the key, and appends a project-local CLAUDE.md reminder.

Source: github.com/yashness/agent-notifier/hooks.