Chrome native-messaging host (claude.exe --chrome-native-host) grows to 46 GB RSS and freezes the machine (Linux)
Summary
The Claude in Chrome native messaging host (bin/claude.exe --chrome-native-host, spawned by Chrome from the Claude Code npm package) ballooned to 46.5 GB RSS on a 64 GB Linux workstation and froze the machine hard (load average 132, input events dropped, required power-button reset). A system flight recorder sampling every 20s captured the whole event, plus an earlier growth episode two days before.
Environment
- Claude Code: 2.1.204 (npm global install under nvm, node v24.15.0); the first growth episode occurred on 2.1.19x before an auto-update
- OS: Zorin OS (Ubuntu-based), kernel 6.17.0-35-generic, x86_64, 64 GB RAM + 16 GB swap
- Chrome stable with the Claude in Chrome extension installed and permitted
- Process cmdline:
.../lib/node_modules/@anthropic-ai/claude-code/bin/claude.exe --chrome-native-host
Timeline (from a root flight recorder, 20-second samples)
Episode 1 — 2026-07-06, ~05:57 local:
05:57:28 claude.exe RSS 5.5 GB
05:57:49 claude.exe RSS 10.3 GB
05:58:09 claude.exe RSS 15.0 GB
05:58:29 claude.exe RSS 19.6 GB
06:00:29 claude.exe RSS 27.1 GB <- ~22 GB growth in 3 minutes
The process then held ~27–32 GB for two days, keeping the 16 GB swap pinned at 100% used.
Episode 2 — 2026-07-08, ~06:50 local (the freeze):
06:50:05 claude.exe RSS 32.4 GB (mem used 48.8/64 GB, swap 16383/16383 full)
06:50:45 claude.exe RSS 37.7 GB
06:51:05 claude.exe RSS 42.6 GB (available RAM down to 5.5 GB)
06:51:25 claude.exe RSS 45.8 GB (available 2.4 GB)
06:52:25 claude.exe RSS 46.5 GB (71% of physical RAM)
06:52:55 load average 53.5
06:54:01 load average 132.5, available 1.6 GB
07:03 journal goes silent; hard power-off was required
Kernel journal in the same window shows input-device SYN_DROPPED floods (UI frozen) and a single too-late systemd-oomd kill of one Chromium tab scope at 06:53:13. No GPU/Xid errors; no other process exceeded ~2 GB.
Expected
The native messaging host is a bridge process; steady-state RSS is ~100–500 MB on this machine. It should never grow unbounded, and certainly not to tens of GB.
Actual
Two runaway growth episodes (~2.5–7 GB/minute) days apart; the second exhausted RAM+swap and hard-froze the workstation.
Notes on reproduction
No deterministic repro identified. Both episodes began in the early morning with Chrome running and multiple Claude Code sessions active; the extension was not necessarily in active use at onset. Happy to run an instrumented build or collect more data on the next occurrence — the flight recorder is still running and now also records a warning when it kills the host above a 10 GB guard threshold (local mitigation).
Local mitigations applied (in case others hit this)
- Watchdog kills
--chrome-native-hostabove 10 GB RSS (Chrome respawns it cleanly) earlyoomwith--prefer '(^|/)claude\.exe$'