disableAllHooks: true does not suppress Claude Preview builtin plugin Stop callback
Resolved 💬 4 comments Opened Mar 21, 2026 by oskbt Closed Mar 25, 2026
Bug Description
The Claude Preview builtin plugin's Stop callback fires on every session stop, even when all hooks are explicitly disabled via settings.
Environment
- OS: Windows 11 Pro 10.0.26100
- Model: claude-sonnet-4-6
Configuration Applied (all of the following set simultaneously)
~/.claude/settings.json:
{
"disableAllHooks": true,
"hooks": {
"Stop": [],
"PostToolUse": [],
"PreToolUse": []
},
"enabledPlugins": {
"Claude Preview@builtin": false
}
}
.claude/settings.local.json (project level):
{
"disableAllHooks": true,
"hooks": {
"Stop": []
}
}
Actual Behavior
Every time Claude stops, one of these appears as "Stop hook feedback":
[Verification Required] Code was edited while a preview server is running. Follow <verification_workflow> to verify the changes.[Preview Required] Code was edited but no dev server is running. Install dependencies if needed, call preview_start, then follow <verification_workflow>.
Expected Behavior
With disableAllHooks: true and "Claude Preview@builtin": false both set, no Stop hook output should appear.
Notes
The message appears to originate from a binary-level callback in the Claude Preview builtin plugin that bypasses the normal hooks mechanism entirely. No settings file configuration has been able to suppress it.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗