[BUG] Claude Desktop "Don't ask" user choice does not prevent native messaging host re-registration on subsequent launches (Windows)
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?
Note on repo: This issue concerns Claude Desktop, which does not have a public issue tracker. Filing here because Claude Desktop and Claude Code share the native messaging host subsystem (cf. the auto-closed 2026-02-28 issue on manifest collision between the two products). Please redirect if there is a more appropriate location.
On Windows, Claude Desktop registers a native messaging host (com.anthropic.claude_browser_extension) on every application launch. After a user explicitly selects "Don't ask" when prompted about browser tools, the underlying registration behavior continues on every subsequent launch — only the UI prompt is suppressed.
In my own log, one denial event on 2026-03-15 is followed by 60+ post-denial Native host installation complete events through 2026-04-26.
What Should Happen?
After "Don't ask" is selected, no further native host registration events should occur on subsequent launches. The user's recorded preference should gate the registration code path entirely until the user opts back in via settings.
Specifically:
- No re-copy of
chrome-native-host.exe - No re-write of
com.anthropic.claude_browser_extension.json - No registry registration attempts for any browser
- No background polling for the paired Chrome extension
Error Messages/Logs
Denial event:
2026-03-15 03:00:35 [info] [Chrome Extension MCP] Extension fcoeoabgfenejglbffodgkkbkcdhcgfn not found in any browser
2026-03-15 03:00:47 [info] [Chrome Extension MCP] User chose 'Don't ask' - disabled browser tools
Sample post-denial registration events (60+ in total through 2026-04-26):
2026-03-16 23:07:45 [info] [Chrome Extension MCP] Native host installation complete
2026-03-29 16:47:22 [info] [Chrome Extension MCP] Native host installation complete
2026-04-26 01:13:01 [info] [Chrome Extension MCP] Native host installation complete
Continued extension polling 3 weeks after denial:
2026-04-06 21:48:21 [info] [Chrome Extension MCP] Extension fcoeoabgfenejglbffodgkkbkcdhcgfn not found in any browser
2026-04-07 00:56:37 [info] [Chrome Extension MCP] Extension fcoeoabgfenejglbffodgkkbkcdhcgfn not found in any browser
2026-04-07 01:00:28 [info] [Chrome Extension MCP] Extension fcoeoabgfenejglbffodgkkbkcdhcgfn not found in any browser
2026-04-07 01:03:57 [info] [Chrome Extension MCP] Extension fcoeoabgfenejglbffodgkkbkcdhcgfn not found in any browser
Each post-denial launch also logs:
[Chrome Extension MCP] Copied native host binary to %APPDATA%\Claude\ChromeNativeHost\chrome-native-host.exe
[Chrome Extension MCP] Installed native host manifest for All at %APPDATA%\Claude\ChromeNativeHost\com.anthropic.claude_browser_extension.json
[Chrome Extension MCP] Registering native host for [Chrome|Brave|Edge|Chromium|Arc|Vivaldi|Opera] in Windows registry: SOFTWARE\<vendor>\NativeMessagingHosts\com.anthropic.claude_browser_extension
[Chrome Extension MCP] Registry verification successful for [browser]
[Chrome Extension MCP] Native host installation complete
Steps to Reproduce
- Install Claude Desktop on Windows 11.
- Launch the app. Native host registration is logged immediately to
%APPDATA%\Claude\logs\main.log:[Chrome Extension MCP] Native host installation complete. - When the browser tools prompt appears, choose "Don't ask". The denial is logged:
[Chrome Extension MCP] User chose 'Don't ask' - disabled browser tools. - Quit and relaunch Claude Desktop.
- Inspect
%APPDATA%\Claude\logs\main.log. Observe additionalNative host installation completeevents. No further consent prompt appears, but the registration continues.
To verify the registry side on Windows:
reg query "HKCU\Software\Google\Chrome\NativeMessagingHosts" /s | findstr anthropic— entry persistsdir "$env:APPDATA\Claude\ChromeNativeHost\"— manifest and binary persist- Delete the manifest, relaunch Claude Desktop, observe the manifest is recreated
Claude Model
None
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
N/A — Claude Desktop bug, not Claude Code. There is no public claude-desktop repo, so filing here per established precedent (#52411, #52655). See routing note in "What's Wrong?".
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
Windows registry nuance: The log line Registry verification successful for [browser] is written even when the parent vendor key does not exist under HKCU\Software\ (i.e., the browser is not installed on the machine). The verification step does not confirm key persistence in those cases. Likely related — the same code path that runs without consulting the user preference also lacks verification of its own success.
Suggested fix: Gate the native messaging host registration code path on the persisted user preference. If "Don't ask" / "disabled browser tools" is recorded, skip the registration entirely on subsequent launches rather than suppressing only the UI prompt. Optionally, surface registered native messaging hosts in Claude Desktop settings with a one-click revoke that persists.
Disclosure: This was disclosed to Anthropic via HackerOne VDP (report #[FILL: HackerOne ID once filed]) on 2026-04-27 prior to filing here. Filing this issue for tracker visibility — the HackerOne report is the canonical disclosure record.
Attribution: Filed by Aaditya Parab (@aadityaparab).
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗