[BUG] Claude Preview auto-launch ignores user intent — opens on every HTML edit even after being dismissed

Resolved 💬 3 comments Opened Apr 24, 2026 by taiesha-crossbeam Closed Apr 27, 2026

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?

The Claude Preview panel auto-opens every time an HTML file is written or edited. This used to respect when it was closed/dismissed, but now it re-opens on every single edit regardless of whether I've told Claude not to, dismissed the panel, or closed it manually.

Additionally, each auto-open fires a PostToolUse:Edit system-reminder injected into the live chat ("… is now visible in the Launch preview panel") that appears while I'm typing the next message, interrupting input.

This is not a user-configurable hook — verified by searching:

~/.claude/settings.json, project .claude/settings.json, .claude/settings.local.json — no relevant hooks
All plugin hooks.json files — no references
claude mcp list — no servers
It's a built-in runtime behavior with no settings.json schema option to disable it.

Requests:

Respect the dismissed/closed state — if the user closes the preview or asks Claude not to open it, don't re-launch on subsequent edits
Add a setting (e.g. disablePreviewPanel: true) to opt out entirely
At minimum, suppress the system-reminder text so it doesn't interrupt input mid-typing

What Should Happen?

What Should Happen:

The preview panel should respect the user's dismissed/closed state — once I close it, it should stay closed until I explicitly reopen it
There should be a setting (e.g. disablePreviewPanel: true in settings.json) to opt out of auto-launch entirely at the project or user level
The PostToolUse:Edit system-reminder text ("… is now visible in the Launch preview panel") should not be injected into the live chat stream — it interrupts typing and clutters the transcript with no actionable information for the user
If Claude is explicitly told not to open the preview in a given session, that instruction should be honored for the rest of the session

Error Messages/Logs

Steps to Reproduce

Open Claude Code v2.1.107 in a project containing any .html file
Ask Claude to make an edit to an HTML file (e.g. "change the heading text in page.html")
Observe: the Claude Preview panel opens automatically and a PostToolUse:Edit system-reminder appears in the transcript saying the file is "visible in the Launch preview panel"
Close or dismiss the preview panel
Ask Claude to make another edit to the same (or any) HTML file
Expected: preview stays closed because the user dismissed it
Actual: preview re-opens automatically and the system-reminder fires again, injected into the chat stream mid-typing

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.107

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Additional context:

Happens on every single HTML edit in the session
No hook configured by the user triggers this (verified across user/project/local settings + all plugin hooks.json files + claude mcp list)
Behavior previously respected the dismissed state — changed recently to always auto-open

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗