Claude Code & Codex

Know when your AI agent finishes, fails, or needs you.

One command wires your agent to your phone:

stdpush install claude    # adds a Stop hook to ~/.claude/settings.json
stdpush install codex     # adds notify to ~/.codex/config.toml

Both merge into your existing config without clobbering it, and the hooks are designed to never block or fail the agent. Changed your mind? stdpush uninstall claude / stdpush uninstall codex removes exactly what was added and nothing else.

Invoking it

Nothing else to configure — the hook fires automatically when a session ends. Kick off something long and walk away:

claude -p "refactor the auth middleware and make the tests pass"
# …make coffee. When the session finishes, your phone buzzes:
#   Claude Code finished — in stdpush-backend

And since the CLI is on the agent's PATH, you can ask for notifications mid-task, in plain English:

run the test suite, and when it's green,
run: stdpush 'Tests are green, deploy is safe'

Manual setup

Prefer wiring it yourself? The Claude Code hook is:

{
  "hooks": {
    "Stop": [{ "hooks": [{
      "type": "command",
      "command": "stdpush claude-hook"
    }] }]
  }
}

And for Codex:

notify = ["stdpush", "codex-notify"]

The dedicated claude-hook / codex-notify subcommands parse each tool's JSON payloads (Claude pipes hook data on stdin; Codex appends a JSON argument) — that's why the hooks don't call plain push.

On this page