VS Code extension crash-loops after VS Code update (chatParticipant manifest error → renderer process dies repeatedly)
Note: This report was drafted and filed by a Claude Code agent (running in an interactive session, with the reporter's explicit review and approval before submission), based on log analysis of a crash observed in the reporter's environment. It was not written directly by the human reporter.
Summary
After updating VS Code, the Claude Code extension enters a continuous crash loop: the extension host repeatedly fails to activate the extension's chat participant, the renderer process exits ("clean-exit"), and the extension host restarts — every 15-60 seconds, indefinitely.
Environment
- Claude Code VS Code extension:
anthropic.claude-code@2.1.212 - VS Code:
1.129.0(commit125df4672b8a6a34975303c6b0baa124e560a4f7), Linux x64 - OS: Linux 7.0.0-28-generic (Ubuntu-based)
vscjava.vscode-gradle@3.18.0("Gradle for Java") — confirmed via Extension Bisect as the culprit extension (see update below)- Also installed in the workspace (not implicated):
redhat.java@1.55.0,vscjava.vscode-java-pack@0.31.1,vscjava.vscode-java-dependency@0.27.6,ms-python.python
Observed behavior
Started immediately after updating VS Code (previously stable). The extension host log (exthost.log) shows this repeating pattern every activation cycle:
[error] Error: chatParticipant must be declared in package.json: claude-code
...
[error] Error: Channel has been closed
at dispose (.../anthropic.claude-code-2.1.212-linux-x64/extension.js:907:1725)
at Object.dispose (.../anthropic.claude-code-2.1.212-linux-x64/extension.js:907:3592)
[info] ExtensionService#_doActivateExtension Anthropic.claude-code, startup: false, activationEvent: 'onView:claudeVSCodeSidebarSecondary'
main.log shows the extension host and renderer repeatedly cycling, continuously, for at least 6+ minutes in one sample session:
2026-07-17 08:04:01.103 [info] Extension host with pid 21123 exited with code: 0, signal: unknown.
2026-07-17 08:04:15.315 [info] Extension host with pid 22590 exited with code: 0, signal: unknown.
2026-07-17 08:04:29.796 [info] Extension host with pid 24193 exited with code: 0, signal: unknown.
2026-07-17 08:05:31.051 [info] Extension host with pid 25865 exited with code: 0, signal: unknown.
2026-07-17 08:06:15.711 [info] Extension host with pid 27238 exited with code: 0, signal: unknown.
2026-07-17 08:06:49.401 [info] Extension host with pid 27519 exited with code: 0, signal: unknown.
2026-07-17 08:07:21.494 [info] Extension host with pid 28273 exited with code: 0, signal: unknown.
2026-07-17 08:07:39.632 [info] Extension host with pid 29657 exited with code: 0, signal: unknown.
2026-07-17 08:07:45.403 [info] Extension host with pid 31398 exited with code: 0, signal: unknown.
2026-07-17 08:07:46.956 [info] Extension host with pid 31881 exited with code: 0, signal: unknown.
2026-07-17 08:08:34.443 [info] Extension host with pid 31934 exited with code: 0, signal: unknown.
2026-07-17 08:08:46.309 [info] Extension host with pid 33181 exited with code: 0, signal: unknown.
2026-07-17 08:08:52.470 [info] Extension host with pid 34544 exited with code: 0, signal: unknown.
2026-07-17 08:08:53.789 [info] Extension host with pid 35134 exited with code: 0, signal: unknown.
2026-07-17 08:08:53.937 [error] CodeWindow: renderer process gone (reason: clean-exit, code: <unknown>)
2026-07-17 08:08:54.345 [info] Extension host with pid 35186 exited with code: 0, signal: unknown.
2026-07-17 08:09:04.311 [info] Extension host with pid 35383 exited with code: 0, signal: unknown.
2026-07-17 08:09:04.312 [error] CodeWindow: renderer process gone (reason: clean-exit, code: <unknown>)
2026-07-17 08:09:15.204 [info] Extension host with pid 35454 exited with code: 0, signal: unknown.
2026-07-17 08:09:38.852 [info] Extension host with pid 35534 exited with code: 0, signal: unknown.
2026-07-17 08:09:38.853 [error] CodeWindow: renderer process gone (reason: clean-exit, code: <unknown>)
2026-07-17 08:10:30.256 [info] Extension host with pid 35600 exited with code: 0, signal: unknown.
Secondary errors during each teardown: TypeError: Cannot read properties of undefined (reading 'subscriptions'), Error: database is not open, and one Error: write after end originating in vscjava.vscode-gradle-3.18.0/dist/index.js. Initially assumed to be collateral rather than causal — see update below.
Update: the reporter ran VS Code's built-in Extension Bisect (Command Palette → "Developer: Start Extension Bisect"), which specifically flagged vscjava.vscode-gradle ("Gradle for Java") as the culprit — output similar to Bisecting extensions: bad extension found: vscjava.vscode-gradle. Disabling that extension alone (workspace-only) resolves the crash loop. So the Gradle extension is confirmed as the trigger, not merely collateral damage.
Suspected root cause
Confirmed via Extension Bisect: enabling vscjava.vscode-gradle alongside the Claude Code extension triggers the crash loop; disabling it resolves it. The chatParticipant must be declared in package.json: claude-code error and the Gradle write after end error both appear on every cycle, but the bisect result indicates Gradle's activation (not a Claude Code manifest issue in isolation) is the actual trigger — possibly resource contention or a shared-state issue between the two extensions in the same extension host process, which then manifests as the chatParticipant activation failure and renderer crash.
Steps to reproduce
- Install
anthropic.claude-code@2.1.212andvscjava.vscode-gradle@3.18.0together on VS Code 1.129.0 (Linux). - Open a workspace containing Gradle build files (e.g., a Flutter project's
android/folder, which auto-activates the Gradle extension). - Extension host repeatedly fails to activate the chat participant; renderer process exits and restarts continuously.
- Confirmed via Extension Bisect: disabling
vscjava.vscode-gradlestops the loop; re-enabling it reproduces it.
Workaround
Disable "Gradle for Java" (vscjava.vscode-gradle) for the affected workspace — confirmed via Extension Bisect to resolve the crash loop.
What would help
- Confirmation of whether extension 2.1.212's manifest needs a
chatParticipantsdeclaration inpackage.jsonto match VS Code 1.129.0's API, and a patched release if so. - Happy to attach full
exthost.log/main.logsessions if useful.