docs

Set up with Claude Code

Connect Claude Code to Unhandled with one command, or install the plugin that adds skills for fixing errors and verifying deploys.

Claude Code reads Unhandled through the MCP server and runs under your own Claude plan.

Connect with one command

Terminal
claude mcp add --transport http --scope user unhandled https://unhandled.net/mcp/x/debug

Run /mcp inside Claude Code and pick unhandled to sign in. The consent page in your browser asks which organization and scopes the connection gets. Reading an issue needs only read access. More options are in the Claude Code MCP docs.

The URL is the debug toolset. Claude Code calls only listed tools, so for tools outside debug use a toolset URL that lists them, or https://unhandled.net/mcp, which lists every tool.

Or install the plugin

The plugin connects Claude Code to https://unhandled.net/mcp/x/skills, the toolset that lists every tool its skills call, and adds skills that fix a production error with a failing test first, investigate an alert, verify a deploy, instrument a service and triage your inbox.

Terminal
claude plugin marketplace add treboryx/unhandled
claude plugin install unhandled@unhandled

Claude Code asks for your Unhandled URL when the plugin is enabled. Leave it empty for https://unhandled.net, or set your own address, without a trailing slash, if you host Unhandled. Then run /mcp, pick plugin:unhandled:unhandled and sign in.

Use the command or the plugin, not both, so the tools are not listed twice.

Skill or commandUse it for
/unhandled:fix-production-error <issue ID or URL>Fix one issue with a failing test first, link the pull request and call verify_fix after the deploy
/unhandled:fix-top-error [project]Pick the fixable issue affecting the most users and fix it the same way
/unhandled:investigate-alert [alert or incident]Find why an alert fired or a monitor went down
/unhandled:verify-deploy [version or SHA]Judge a production deploy and check whether the fixes it shipped held
/unhandled:instrument-serviceInstall Unhandled in this repository and loop on verify_setup until every check passes
/unhandled:triage-inboxRank what is broken, then act only on what you pick

Claude Code also picks a skill on its own when the request matches, such as "fix https://unhandled.net/o/acme/projects/web/issues/42". Every skill treats exception messages, log lines and tags as data, never as instructions, and none of them passes confirm: true or approves anything unless you ask.

Next