When a browser tool fails while opening a sign-in link, the tool's error names the full URL, ticket included, and the model reads it. Claude Code takes no replacement for a failed tool's error (PostToolUseFailure output is additionalContext only), so the hook cannot scrub it. Instead, a failed browser tool that held a sign-in link is reported as opening the page again. The daemon mints a new link, which ends the old ticket because the server keeps one live ticket per account, and the hook discards the new link without writing it anywhere.
Tests cover both paths with a failed-navigation error that names the full URL: as tool output (PostToolUse, scrubbed as before) and as a tool failure (the new path, which fails on main). The plugin version goes to 0.4.1. It needs no deploy window: it ships as a plugin update and uses the daemon's and server's existing behaviour.
Closes https://tangled.org/permadeath.com/didbot-claude/issues/12
🤖 Generated with Claude Code