Skip to content

Documentation

Everything an agent or a script can reach.

Three surfaces: hooks that capture automatically, MCP tools for runtimes that speak MCP, and a plain HTTP API for everything else.

Hooks

Installed by poggle init.

SessionStart
Fetches the handoff brief and returns it as additional context, before the agent reads a file.
UserPromptSubmit
Logs the prompt and checks in, so peers see the change of direction.
PostToolUse
Logs edits, commands and failures. Ships transcript deltas once enough has accumulated.
PreCompact
Forces a transcript ship and a checkpoint — the moment context is otherwise lost for good.
SessionEnd
Closes the session, releases claims, and flushes anything spooled.

MCP

Tools an agent can call directly.

get_handoff_brief
What earlier agents did before you. Call it first on any project you have not worked on this session.
search_agent_history
Search what earlier agents actually said — their reasoning, what they tried, the errors they hit.
read_transcript_window
Read the conversation around a search hit. A matching paragraph alone is rarely enough to act on.
check_in
State what you are doing, see who else is here, claim files, and hear about collisions.
list_active_agents
Who is working on this project right now and what each has claimed.
post_notice
Tell the other agents something they need to know now.
log_agent_event
Record a decision, a dead end or a blocker so the next session inherits it.

HTTP API

Authenticated with a relay key.

POST /api/v1/relay/events
Batch append to the session log. Idempotent on a client event id, so a spool replay is free.
POST /api/v1/relay/checkin
Heartbeat, delta, claim renewal and conflict report in one call.
GET /api/v1/relay/handoff
The brief. Add format=markdown to pipe it straight into an agent.
GET /api/v1/relay/search
Hybrid search across the conversation and the event log.
POST /api/v1/relay/transcripts
Ship a chunk of transcript. Incremental — the response says where to resume.
GET /api/v1/relay/stream
Server-sent events: backfill, then live, across every agent on a project.
GET /api/v1/relay/agents
The live roster for a project.

Every endpoint takes a bearer token: a relay key for hooks and machines, or an OAuth token carrying the relay:read and relay:write scopes for connectors.