[BUG] Claude Desktop causes kernel panics on macOS via vnode exhaustion and excessive disk writes
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?
Environment
- macOS 26.3.1 (Build 25D2128), M4 Pro, Mac16,8, 24GB RAM
- Claude Desktop 1.1.7053
Summary
Claude Desktop caused 5+ kernel panics in a single day by exhausting the
system's vnode limit and exceeding macOS disk write limits.
Evidence
macOS generated a diagnostic report
(Claude_2026-03-17-162906_Joes-MacBook-Pro.diag) flagging Claude Desktop for:
- 2,325 MB of file-backed memory dirtied over 26,803 seconds (86.76 KB/s
average, exceeding the 24.86 KB/s system limit)
- Vnodes available at time of report: 0.82% (2,147 / 263,168) — effectively
exhausted
When vnodes hit zero, launchd (PID 1) receives SIGBUS and exits, triggering a
kernel panic. All kernel panics that day showed the same string:
panic(cpu N): initproc exited -- exit reason namespace 2 subcode 0xa
The diagnostic window (9:02 AM – 4:29 PM) exactly covers the period when
panics were occurring. Claude Desktop was the process macOS identified as
responsible for the resource exhaustion.
Workaround
Doubling the vnode limit via sudo sysctl -w kern.maxvnodes=524288 (persisted
in /etc/sysctl.conf) stopped the kernel panics.
Request
Please investigate the disk write pattern and file handle usage in Claude
Desktop under sustained prompt load. The write rate and vnode consumption
appear to be a resource leak.
What Should Happen?
Claude should work without crashing my fucking system!
Error Messages/Logs
Steps to Reproduce
Run Claude Desktop?
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
latest
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗