[Bug] Bun runtime assertion failure in --chrome-native-host on Windows 11

Resolved 💬 2 comments Opened Feb 9, 2026 by joanna8344 Closed Mar 10, 2026

Bug Description
---
Bug: claude.exe --chrome-native-host crashes on Windows with Bun runtime assertion failure

Environment:

  • OS: Windows 11
  • Claude Code: v2.1.37 (latest) — also reproduced on v2.1.25 (stable)
  • Bun: v1.3.9-canary.51 (latest) / v1.3.5 (stable)
  • Chrome Extension: Claude v1.0.47 (ID: fcoeoabgfenejglbffodgkkbkcdhcgfn)

Impact:
Chrome extension cannot connect to Claude Code. All mcp__claude-in-chrome__* tools return
"Browser extension is not connected."

Root Cause:
claude.exe --chrome-native-host crashes immediately on startup with Bun panic(main
thread): Internal assertion failure. This prevents the native messaging host from bridging
Chrome extension to Claude Code.

Crash Output:
[Claude Chrome Native Host] Initializing...
[Claude Chrome Native Host] Creating socket listener:
\\.\pipe\claude-mcp-browser-bridge-0646
panic(main thread): Internal assertion failure
oh no: Bun has crashed.

Crash Report URL:
https://bun.report/1.3.9/e_2d5628dbEkgggC+s1oU+vvkOu8t/uBysi5uB__qt24tCA0eNrzzCtJLcpLzFFIL
C5OLSrJzM9TSEvMzCktSgUAiSkKPg

Reproduce:
Run claude.exe --chrome-native-host from any terminal on Windows.

Verified working:

  • Native messaging host registered in registry

(HKCU\Software\Google\Chrome\NativeMessagingHosts)

  • Named pipe \\.\pipe\claude-mcp-browser-bridge-0646 is accessible
  • Chrome extension installed with nativeMessaging permission
  • chrome-native-host.bat points to correct claude.exe path

---

Environment Info

  • Platform: win32
  • Terminal: windows-terminal
  • Version: 2.1.37
  • Feedback ID: eddbdfb2-3672-49d1-a409-dabd78b4a1a9

Errors

[{"error":"Error: LSP server plugin:typescript-lsp:typescript failed to start: ENOENT: no such file or directory, uv_spawn 'typescript-language-server'\n    at start (B:/~BUN/root/claude.exe:2101:22112)\n    at async E (B:/~BUN/root/claude.exe:2101:24560)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-09T13:50:05.334Z"},{"error":"Error: ENOENT: no such file or directory, uv_spawn 'typescript-language-server'\n    at spawn (unknown)\n    at spawn (node:child_process:679:35)\n    at spawn (node:child_process:14:39)\n    at start (B:/~BUN/root/claude.exe:2101:20642)\n    at E (B:/~BUN/root/claude.exe:2101:24560)\n    at L (B:/~BUN/root/claude.exe:2101:32322)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-09T13:50:05.335Z"},{"error":"Error: Failed to start LSP server plugin:typescript-lsp:typescript: ENOENT: no such file or directory, uv_spawn 'typescript-language-server'\n    at <anonymous> (B:/~BUN/root/claude.exe:2101:32344)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-09T13:50:05.335Z"},{"error":"MaxFileReadTokenExceededError: File content (40784 tokens) exceeds maximum allowed tokens (25000). Please use offset and limit parameters to read specific portions of the file, or use the GrepTool to search for specific content.\n    at bqI (B:/~BUN/root/claude.exe:3278:3309)\n    at async call (B:/~BUN/root/claude.exe:3287:2420)\n    at async <anonymous> (B:/~BUN/root/claude.exe:5796:1675)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-09T14:08:58.747Z"},{"error":"MaxFileReadTokenExceededError: File content (40784 tokens) exceeds maximum allowed tokens (25000). Please use offset and limit parameters to read specific portions of the file, or use the GrepTool to search for specific content.\n    at bqI (B:/~BUN/root/claude.exe:3278:3309)\n    at async call (B:/~BUN/root/claude.exe:3287:2420)\n    at async <anonymous> (B:/~BUN/root/claude.exe:5796:1675)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-09T14:40:30.044Z"},{"error":"MaxFileReadTokenExceededError: File content (40784 tokens) exceeds maximum allowed tokens (25000). Please use offset and limit parameters to read specific portions of the file, or use the GrepTool to search for specific content.\n    at bqI (B:/~BUN/root/claude.exe:3278:3309)\n    at async call (B:/~BUN/root/claude.exe:3287:2420)\n    at async <anonymous> (B:/~BUN/root/claude.exe:5796:1675)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-09T14:40:42.312Z"}]

View original on GitHub ↗

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