[BUG] Chrome native messaging host crashes with Bun panic when Windows username contains Unicode emoji

Resolved 💬 6 comments Opened Feb 9, 2026 by robertmclaws Closed Mar 13, 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.exe --chrome-native-host process crashes immediately on launch with a Bun runtime internal assertion failure. This prevents the Claude browser extension from connecting to Claude Code via native messaging.

The native messaging host constructs a named pipe path using the OS username. When the username contains Unicode emoji characters, the Bun runtime panics with an internal assertion failure when attempting to create the pipe.

What Should Happen?

The native messaging host should start successfully and create the named pipe regardless of Unicode characters in the username. The browser extension should then be able to connect to Claude Code.

Error Messages/Logs

[Claude Chrome Native Host] Initializing...
[Claude Chrome Native Host] Creating socket listener: \.\pipe\claude-mcp-browser-bridge-☁️<username>
============================================================
Bun Canary v1.3.9-canary.51 (d5628db2) Windows x64 (baseline)
Windows v.win11_dt
CPU: sse42 avx avx2 avx512
Args: "C:\Users\<user>\.local\bin\claude.exe" "--chrome-native-host"
Features: Bun.stdin(2) jsc standalone_executable
Builtins: "bun:main" "node:buffer" "node:child_process" "node:crypto" "node:fs" "node:fs/promises" "node:net" "node:os" "node:path" "node:process" "node:stream" "node:timers/promises" "node:url" "node:util"
Elapsed: 150ms | User: 78ms | Sys: 78ms
RSS: 0.30GB | Peak: 0.30GB | Commit: 0.42GB | Faults: 74517 | Machine: 33.93GB

panic(main thread): Internal assertion failure
oh no: Bun has crashed. This indicates a bug in Bun, not your code.

Steps to Reproduce

  1. Have a Windows user account with a Unicode emoji in the username (e.g., AzureAD+☁️Username)
  2. Install Claude Code 2.1.37
  3. Install the Claude browser extension in a Chromium-based browser
  4. Run claude.exe --chrome-native-host (or trigger it via the browser extension's native messaging)
  5. Observe the Bun panic crash

The named pipe is constructed as \.\pipe\claude-mcp-browser-bridge-<username>, where <username> includes the emoji. The UTF-8 bytes of the pipe name are correct (verified: E2 98 81 EF B8 8F for ☁️), but the Bun runtime crashes when trying to create the listener on that path.

Claude Model

Not sure / Multiple models

Is this a regression?

I don't know

Claude Code Version

2.1.37 (Claude Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Windows Terminal

Additional Information

  • The crash is reproducible 100% of the time
  • A potential fix would be to sanitize or hash the username before using it in the pipe name, or use a different identifier (like a UUID) for the pipe path
  • While uncommon, Windows usernames can contain Unicode emoji characters, and the named pipe construction should handle them gracefully

View original on GitHub ↗

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