godozo is a tiny, self-hostable relay. Your agents ping you when something needs attention and pause for your approval before doing anything risky. You tap Approve on your phone; the agent continues.
# the agent blocks until you tap Approve on your phone godozo gate --title "deploy to prod?" --detail "$CMD" && ./deploy.sh # or just get pinged when a long job finishes godozo notify "nightly build passed ✅"
Three primitives you compose into any agent or script. Nothing to expose, nothing to babysit.
Fire-and-forget pings — “the migration finished”, “the build failed”, “deploy #128 shipped.”
The agent blocks on request_approval until you tap Approve or Deny. The answer is the decision.
Every notify and approval is logged locally — who approved what, and when. Your record, on your box.
Outbound-only (long-poll) — no public webhook, no inbound port. Runs behind NAT, on a laptop, next to a build.
An MCP server for any MCP client, a CLI for any script, and hooks for Claude Code. Claude, Cursor, local models.
Core + CLI are zero-dependency (just Node). Apache 2.0. Read the whole thing in one sitting.
You don't follow setup steps — your agent does. Paste this into Claude Code (or any coding agent) and it installs itself, hook and all.
Read https://github.com/morganchristian/godozo/blob/main/llms.txt and wire godozo into this project: set up .env, verify with godozo doctor, and add a PreToolUse hook that blocks force-push and rm -rf until I approve on my phone. Send a test notification and don't stop until I confirm I got it.
The acceptance criterion is the trick: the agent has to get a real Approve/receipt from you before it's allowed to call the job done.
Tell the agent when to check in — and hard-gate the actions that must never slip past a human.
request_approval and wait.”PreToolUse hook gates a command deterministically — even if the model forgets to ask.# CLAUDE.md — the policy Before any prod deploy or destructive action, call godozo request_approval and WAIT for the answer. # settings.json — the seatbelt "PreToolUse": [{ "matcher": "Bash", "hooks": [{ "type": "command", "command": "godozo gate-hook --match 'push --force,rm -rf'" }] }]
godozo — a green light for your agents.
Bridge any agent to any channel — swap claude -p for ollama run and it’s the same tool.