Usage
Run it from inside your repo, or name the repo explicitly:--pretty for a human-readable line instead.
Watching from an agent
Coding agents consume calls that return, not streams. The default command is a daemon that runs until you kill it, which suits a terminal or a harness that can read a long-running process’s stdout — but most agents cannot consume that shape at all. Two surfaces cover them.--once
Blocking single-shot mode: wait for the next batch of activity, print it, exit. Any agent that can run a shell command can use this as a monitor.
pullfrog mcp
An MCP server exposing the same primitive as a tool called pr_wait, which blocks until something happens on the PR and returns it. Register it with your agent once and the agent can wait on a PR the same way it calls any other tool.
repo as owner/repo, and an optional max_wait_seconds that defaults to 20 and caps at 50. Because the call blocks, your harness’s MCP request timeout has to be longer than the wait you ask for — the snippets above set it where the default is too low.
Options
Event kinds
Every line carries akind, the affected pr, an ISO createdAt, an opaque cursor, and a curated data object.
The
data object holds just enough to decide whether to react — actor, action, state, a truncated body or title, and the html_url. Fetch full detail on demand from that URL.
Resuming
The stream is cursor-based, and the last position is saved per repo and PR under~/.pullfrog/watch/. A restarted watcher, or a series of separate --once calls, picks up exactly where the previous one stopped without replaying what it already handled.
Two overrides:
--since <cursor>starts from a cursor you name, ignoring the saved one.- Setting
PULLFROG_STATE_DIRmoves the saved position somewhere other than the home directory.

