Repository navigation
v1.11.1
On a plugin install, Writ now dispatches the agent types Claude Code actually registers (writ:writ-<role>), and records reviewer verdicts again. Before this, every generic dispatch the hook rerouted failed with "Agent type 'writ-explorer' not found", and the review commit gate was silently off.
Fixed
- Dispatch names match the install. The dispatch-discipline hook rewrote generic dispatches to bare
writ-<role>, which exists only whenbootstrap.shlinks the roles into~/.claude/agents. It now emits the bare name when that file exists andwrit:writ-<role>otherwise; the rewrite context, the deny reason and the auto-route announcements name the same type. - Reviewer verdicts are recorded on plugin installs.
resolve_rolepassedwrit:writ-reviewerthrough unchanged, so the SubagentStop hook never recognised the reviewer. It now strips one leadingwrit:from the envelope, sidecar and cached type, so the stop hook, gates, cache and role lookup see the bare role.get_subagent_rolestrips it too. - Hook tests are hermetic under Claude Code. A suite run from a session inherited the installed plugin's
CLAUDE_PLUGIN_ROOT, so the working-tree hooks sourced the installed copy's libraries.conftest.pynow clears it.