Verify a deploy with your agent
Have your agent judge a production deploy, check that the fixes it shipped held and confirm a new service reports everything.
A fix is done when production stops raising the error, not when the pull request merges. Unhandled gives your agent three checks. Each reads data Unhandled already holds, so none needs the dashboard.
Check that a deploy is healthy
Ask the agent "is the latest deploy healthy?". It calls list_deployments, takes the newest match, then get_deployment with impact and issues. The verdict decides what it reports.
| Verdict | What the agent says |
|---|---|
pending or preliminary | Too early. What is known so far, and that the final verdict lands an hour after the deploy |
healthy | Healthy, with the evidence |
faulty | The regressed endpoints and the new or regressed issues of the version |
inconclusive | Too little traffic. It does not call the deploy healthy |
A deploy the agent cannot find means CI did not declare it. Deployments shows how unhandled deploy declares one, and Faulty deploys lists the thresholds behind the verdict.
Check that a fix held
Link every fix to its issue so Unhandled knows which deploy carries it. End the fixing commit with a Fixes-Unhandled: <issue ID> trailer, or call link_pull_request with the pull request URL. The issue resolves in the first production deploy declared with its commits that carries the fix. Fixes has every source.
Then call verify_fix for the issue. It answers one of these, with the counts before and after and the entry point's exposure:
| Answer | Meaning |
|---|---|
fixed | No event on the fixed version or a later one, and it served enough requests |
not_yet_observed | Not enough traffic to tell. Ask again later |
still_failing | The issue occurred again on the fixed version or a later one |
Unhandled also runs the check on its own every minute and records the result as Verified fixed, Fix did not hold, or one of two unverified states. Fix verification has the rules, and versioned webhooks get fix.verified and fix.failed.
Check that a service reports everything
After instrumenting a service, call verify_setup with the service and environment. It returns a checklist for the key, traces, logs, exceptions, environment, user ids, release, source maps, deploys and their commits. Each failing check has a nextStep and a link to the page that explains it. The agent works through them until none fails.
With the Claude Code plugin
/unhandled:verify-deploy [version or SHA] runs the first two checks in order and offers to fix any new or regressed issue with /unhandled:fix-production-error. It rolls back, resolves and reopens nothing unless you ask. See Set up with Claude Code.