[BUG] Extension host hard crash (STATUS_BREAKPOINT -2147483645) on Windows — repeated crash-restart loop
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 Code VSCode extension host enters a crash-restart loop, crashing every 25-90 seconds. VSCode isolates it to its own extension host, but crashes continue. One crash was a hard native crash (not a graceful exit):
- Exit code:
-2147483645(0x80000003= WindowsSTATUS_BREAKPOINT) main.log:[UtilityProcess id: 39, type: extensionHost, pid: 3464]: crashed with code -2147483645 and reason 'crashed'exthost.log:Error: write after end(Node.js stream write to closed stream)renderer.log: Every crash lists onlyAnthropic.claude-codeas running extension
Crash timeline in a single session (2026-02-11):
| Time | Survived | Notes |
|------|----------|-------|
| 13:35 | 22 sec | Shared host crash |
| 13:56 | 91 sec | Shared host crash |
| 14:02 | 70 sec | Claude-only host |
| 14:05 | 57 sec | Claude-only host |
| 14:07 | 77 sec | Claude-only host |
| 14:14 | 21 min | Stabilized briefly |
| 14:36 | 60 min | After reducing config size |
| 15:37 | 25 sec | HARD CRASH (code -2147483645) |
Reducing settings.local.json from 134→34 permission entries and CLAUDE.md from 1105→327 lines extended survival from ~60s to ~60min, suggesting config/context payload size is a contributing factor
What Should Happen?
The extension host should remain stable without crashing. Large permission lists and CLAUDE.md files should not cause native crashes
Error Messages/Logs
# main.log
Extension host with pid 3464 exited with code: 18446744071562068000, signal: unknown.
[error] [UtilityProcess id: 39, type: extensionHost, pid: 3464]: crashed with code -2147483645 and reason 'crashed'
# exthost.log
2026-02-11 14:14:49.232 [error] Error: write after end
# renderer.log (repeated pattern)
Extension host (LocalProcess pid: 6608) terminated unexpectedly. The following extensions were running: Anthropic.claude-code
Extension host (LocalProcess pid: 15440) terminated unexpectedly. The following extensions were running: Anthropic.claude-code
Extension host (LocalProcess pid: 24164) terminated unexpectedly. The following extensions were running: Anthropic.claude-code
Extension host (LocalProcess pid: 3464) terminated unexpectedly. The following extensions were running: Anthropic.claude-code
# Claude VSCode.log
2026-02-11T15:22:19.239Z [ERROR] API error (attempt 5/11): 529 overloaded_error
(many 529 retries piling up during crashes)
Steps to Reproduce
- Open a large Laravel monolith workspace in VSCode with Claude Code extension
- Have a large CLAUDE.md file (~1000+ lines) in the project root
- Accumulate 100+ permission entries in
.claude/settings.local.json(happens naturally over many sessions — one-off git commands, commit messages, etc. all get saved as individual permission entries) - Start a conversation using Opus model with multiple tool calls
- Extension host crashes within 25-90 seconds, enters restart loop
- After reducing settings.local.json to ~34 wildcard entries and CLAUDE.md to ~327 lines, survival extends to ~60 minutes before next crash
- Hard native crash (code -2147483645) still occurs eventually
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.39
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
VS Code integrated terminal
Additional Information
On startup, the extension loads permission rules from 3 config files (user + project + local). Before cleanup this totalled 180 rules, many containing full git commit messages as permission strings (500+ chars each). The accumulated payload appears to contribute to instability.
The permission accumulation is itself a UX issue — every approved one-off command (e.g., a full git commit -m "..." with heredoc) gets permanently saved as an exact-match permission entry, causing unbounded growth of settings.local.json over time. Consider: (1) not persisting one-off commands as permissions, or (2) auto-consolidating specific entries into wildcard patterns.
Extension version: anthropic.claude-code-2.1.39-win32-x64
Binary: claude.exe (native binary bundled with extension)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗