Stop hook fires after every code edit in non-web projects with no way to disable
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
After every code edit (Write/Edit tool), a Stop hook fires and displays a "Stop hook feedback" notification to the user. The message is directed at Claude (telling it what to do next regarding preview verification), but it surfaces as a visible notification to the user after every single code edit, even in projects with no dev server or browser preview at all (e.g. Node.js backend scripts, bots).
What Should Happen?
The hook should either not fire when there is no preview_start configured for the project, or be suppressible via settings.json (e.g. through enabledPlugins or a similar setting).
Error Messages/Logs
Code was edited but no dev server is running. If the change is observable in a browser preview (per <when_to_verify>), call preview_start and follow <verification_workflow>. If not, end your turn without mentioning this check — do not announce that you're skipping.
Steps to Reproduce
- Open Claude Code in a project that has no dev server (e.g. a Node.js bot, a script, a backend service)
- Ask Claude to edit any file
- After Claude finishes, the "Stop hook feedback" notification appears, showing Claude-directed text to the user
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
Not specified in report
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
Environment: Claude Code desktop app (Mac). Project type: Node.js Railway bot (no browser/frontend). No .claude/settings.json hooks configured by the user. There is no entry in ~/.claude/settings.json or .claude/settings.json that controls this behavior.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗