Skip to content

Stop an agent now

You are on call, or you have just seen an agent do something it shouldn't. You want it stopped on its very next tool call, everywhere it is running, without losing the record of what it did.

Pick the narrowest switch that covers the problem:

To stop Do this Role
One session Revoke its delegation admin
Every session of one agent Suspend the agent editor
One kind of action Narrow the agent's allowlist, then revoke and restart its sessions editor, then admin

All three take effect on the next tool call. Every change in the admin plane invalidates every cached decision across the fleet, so no agent keeps working from an old answer.

Revoke one session

Find it, then revoke it:

curl -H "Authorization: Bearer $VIEWER" "http://$PAP/v1/delegations"
curl -X POST -H "Authorization: Bearer $ADMIN" "http://$PAP/v1/delegations/$ID/revoke"

The agent's next call is refused with delegation … is revoked. Any sub-agent delegations issued under it stop too, because the whole chain is rechecked on every call.

Suspend the agent

PUT replaces the whole record, so send every field with suspended: true:

curl -X PUT "http://$PAP/v1/agents/$AGENT" \
  -H "Authorization: Bearer $EDITOR" -H 'Content-Type: application/json' \
  -d '{"name":"alice-claude-code","provider":"anthropic","model_id":"claude",
       "trust_tier":3,"enabled":true,"suspended":true,"allowed_tools":[]}'

Set suspended back to false to resume. Nothing else needs to change.

Suspend, don't delete

Deleting an agent that still has live delegations or approvals returns 409. Suspending is immediate, reversible, and keeps the history intact.

Afterwards

Revocations and suspensions are recorded in the audit log, attributed to the operator who made them. Continue with Investigate what an agent did.