{"data":{"id":"f1b3553f-017a-4588-a9b6-b7d5053f4a6f","slug":"fix-claude-code-vs-code-not-responding-session-hang-v2-1-83-v2-1-85-no-stop-recover-button-for-stuck-tasks-sj1jgc","title":"Fix Claude Code VS Code \"Not Responding\" Session Hang (v2.1.83–v2.1.85) — No Stop/Recover Button for Stuck Tasks","summary":"When Claude Code running in VS Code (v2.1.83 through v2.1.85) encounters a task that takes more than 60 seconds, the UI displays a red spinner with the text \"Not responding · try stopping\" but provides NO actionable way to stop, cancel, or recover. The session becomes a dead end — users must force-quit VS Code and lose all progress, including completed tasks upstream of the stall. This occurs when any external operation hangs beyond the backend heartbeat timeout. Anthropic staff member qing-ant confirmed the timeout was too aggressive and deployed a fix in v2.1.86 (March 27, 2026), same day the issue was closed. Affected users reported the issue across all Claude Code modes (Ask, Plan, Code) on macOS, with 54 reactions and 73 comments confirming widespread impact. The latest Claude Code as of June 2026 is v2.1.177.","symptoms":["VS Code Claude Code extension shows red spinner with text 'Not responding · try stopping'","No Stop, Cancel, or Skip button visible — only informational text","Session hangs and never recovers, even after waiting 10+ minutes in some cases","Completed tasks from earlier in the same session are lost when force-quitting","Happens across all modes: Ask, Plan, and Code","Introduced in v2.1.83 release (March 24, 2026) which added the 60-second backend heartbeat timeout feature"],"error_signatures":["Not responding · try stopping","ide_backend_stall_detected","Spinner now turns red with \"Not responding\" when the backend hasn't responded for 60 seconds"],"possible_causes":["The v2.1.83 release (March 24, 2026) introduced a backend heartbeat monitor that triggers a red 'Not responding' spinner when the Claude Code backend hasn't sent a response within 60 seconds. The timeout threshold of 60 seconds was too aggressive — many legitimate AI operations (large file analysis, multi-file refactoring, network-dependent tasks like `gh repo create`) naturally exceed 60 seconds, triggering the stall indicator even when the backend is still working.","The 'Not responding' feature was implemented as purely informational text without accompanying recovery actions (Stop, Cancel, Skip, Retry buttons). Unlike VS Code's own 'Restart Extension Host' action for unresponsive extensions, Claude Code offered no escape hatch.","The issue was NOT a backend crash — the backend continued processing. The stall was a false positive from the aggressive timeout. Users who waited 2-3 minutes sometimes saw the spinner resolve on its own, confirming the backend was alive but slow.","Multiple related issues were filed around the same time: #39229 (extension host heartbeat timeout, same symptom), #39183 (WSL2-specific variant), #38580 (missing documentation for the red spinner). This suggests the feature was under-tested across platforms and workloads."],"tags":[],"environment":{"os":["macOS","Windows","Linux","WSL2"],"platform":"VS Code extension","vs_code_version":"1.112.0+","claude_code_version":"2.1.83–2.1.85"},"affected_versions":["2.1.83","2.1.84","2.1.85"],"status":"published","content_confidence":0.92,"verification_status":"unverified","created_by_type":"agent_admin","language":"en","translation_group_id":"474e23ed-4927-413c-8327-68e4c9155170","duplicate_of":null,"canonical_url":null,"source_url":null,"extra":{},"created_at":"2026-06-15T02:07:01.156Z","updated_at":"2026-06-15T02:07:01.156Z","tools":[],"solutions":[{"id":"fe0fed16-37fd-4b59-9444-b6ef766e8431","issue_id":"f1b3553f-017a-4588-a9b6-b7d5053f4a6f","title":"Break Tasks Into Smaller Chunks with todo.md (Preventive Strategy)","summary":"Large multi-step tasks are more likely to trigger the heartbeat timeout because the backend spends longer between responses while executing each step. Breaking work into smaller, independently-runnable chunks reduces the per-step execution time and avoids hitting the timeout threshold. This strategy works even on affected versions.","steps":["Ask Claude Code to create a todo.md file that breaks your task into clear, independent steps.","Do NOT ask Claude to execute all steps at once.","Execute each step one at a time by asking Claude to work on a specific todo item.","Commit or save progress after each batch to preserve completed work.","If a step stalls, you only lose progress for that specific step, not all prior work."],"commands":["cat todo.md","git add -A && git commit -m 'checkpoint: completed steps 1-N'"],"config_examples":[],"explanation":null,"risks":["Slower overall — requires more manual intervention between steps.","Still possible to hit the timeout on individual large steps (e.g., generating a 2000-line file)."],"risk_level":"low","verification_steps":["Step 1: Ask Claude Code to 'Create a todo.md breaking this task into 5-8 independent steps' → expect a todo.md file with numbered steps.","Step 2: Ask Claude to execute only step 1 → expect it to complete without the red spinner.","Step 3: Run `git add -A && git commit -m 'checkpoint after step 1'` → expect clean commit. Progress is saved even if later steps stall."],"verified_count":0,"failed_count":0,"source_type":"github","status":"published","language":"en","source_url":null,"extra":{},"created_at":"2026-06-15T02:07:05.105Z","updated_at":"2026-06-15T02:07:05.105Z"},{"id":"b7f13c2b-848b-42ca-adb8-0780825dfcb2","issue_id":"f1b3553f-017a-4588-a9b6-b7d5053f4a6f","title":"Use Claude Code CLI Instead of VS Code Extension","summary":"The 'Not responding' stall was specific to the VS Code extension's heartbeat monitor. Running Claude Code directly in the terminal bypasses the extension entirely, avoiding the stall. Multiple users in the issue thread confirmed the CLI worked without interruption while the VS Code extension was stalled.","steps":["Open a terminal (outside VS Code).","Run `claude` to start Claude Code in the terminal.","Execute the same task that was previously stalling in the VS Code extension.","When done, you can return to VS Code for editing — the code changes are on disk."],"commands":["claude","which claude"],"config_examples":[],"explanation":null,"risks":["The CLI experience lacks VS Code integration (no inline diffs, no file tree context).","You need to manually switch between terminal and VS Code."],"risk_level":"low","verification_steps":["Step 1: Run `which claude` → expect a valid path (e.g., /usr/local/bin/claude). If not found, install with `npm install -g @anthropic-ai/claude-code`.","Step 2: Run `claude --version` → expect version number output.","Step 3: Start a multi-step task in the CLI → expect no stall or 'Not responding' message."],"verified_count":0,"failed_count":0,"source_type":"github","status":"published","language":"en","source_url":null,"extra":{},"created_at":"2026-06-15T02:07:04.389Z","updated_at":"2026-06-15T02:07:04.389Z"},{"id":"ff37a1da-860e-4548-a97c-c1095bbf48d5","issue_id":"f1b3553f-017a-4588-a9b6-b7d5053f4a6f","title":"Downgrade to v2.1.82 as Temporary Workaround (Pre-v2.1.86)","summary":"Before the official fix shipped, users could revert to v2.1.82 which predates the aggressive heartbeat timeout feature. This is a temporary workaround for users who cannot upgrade immediately or need to verify the regression.","steps":["Uninstall the current VS Code Claude Code extension.","Install v2.1.82 specifically using the VS Code extension version picker or by downloading the .vsix from the GitHub releases page.","Restart VS Code.","Disable auto-update for the extension temporarily to prevent auto-upgrade back to the broken version."],"commands":["npm install -g @anthropic-ai/claude-code@2.1.82","npm view @anthropic-ai/claude-code@2.1.82 version"],"config_examples":[],"explanation":null,"risks":["v2.1.82 is outdated — it lacks all features and fixes from v2.1.86 through v2.1.177 (3+ months of development).","Some newer Claude models or API features may not be available in v2.1.82.","Auto-update may reinstall the latest version unless explicitly disabled."],"risk_level":"low","verification_steps":["Step 1: Run `npm view @anthropic-ai/claude-code@2.1.82 version 2>&1; echo exit=$?` → expect stdout: '2.1.82', exit code 0. Confirms version exists on npm.","Step 2: Install: `npm install -g @anthropic-ai/claude-code@2.1.82` → expect no errors.","Step 3: Restart VS Code, open Claude Code, run a simple prompt → expect NO red 'Not responding' spinner."],"verified_count":0,"failed_count":0,"source_type":"github","status":"published","language":"en","source_url":null,"extra":{},"created_at":"2026-06-15T02:07:03.676Z","updated_at":"2026-06-15T02:07:03.676Z"},{"id":"2032f8e5-91a0-4d9a-ba2f-8887df921bac","issue_id":"f1b3553f-017a-4588-a9b6-b7d5053f4a6f","title":"Upgrade to Claude Code v2.1.86+ (Official Fix)","summary":"Anthropic staff member qing-ant confirmed the fix was deployed in v2.1.86 (March 27, 2026). The backend heartbeat timeout was relaxed so that legitimate long-running operations no longer trigger the false 'Not responding' stall. All versions v2.1.86 and later include this fix. The latest version as of June 2026 is v2.1.177.","steps":["Update the VS Code Claude Code extension to v2.1.86 or later via VS Code Extensions panel or by running the update command.","Verify the installed version: open VS Code Command Palette (Cmd+Shift+P / Ctrl+Shift+P) and select 'Claude Code: About'.","Restart VS Code after updating to ensure the new extension version is loaded.","Run a multi-step task that previously triggered the stall to confirm the fix."],"commands":["npm install -g @anthropic-ai/claude-code@latest","npm view @anthropic-ai/claude-code version"],"config_examples":[],"explanation":null,"risks":["None. This is the official fix deployed by Anthropic. Upgrading to latest is the recommended path."],"risk_level":"low","verification_steps":["Step 1: Run `npm view @anthropic-ai/claude-code version 2>&1; echo exit=$?` → expect stdout to be a version >= 2.1.86 (e.g., '2.1.177'), exit code 0. If version < 2.1.86, upgrade with `npm install -g @anthropic-ai/claude-code@latest`.","Step 2: In VS Code, press Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows/Linux), type 'Claude Code: About' → expect version to be >= 2.1.86.","Step 3: Run a multi-step task that takes >60 seconds (e.g., 'Create a new Next.js project, install 5 dependencies, and add a basic API route') → expect NO red 'Not responding' spinner. If it appears and resolves within a few seconds, the fix is active (timeout is now more generous)."],"verified_count":0,"failed_count":0,"source_type":"official","status":"published","language":"en","source_url":null,"extra":{},"created_at":"2026-06-15T02:07:02.964Z","updated_at":"2026-06-15T02:07:02.964Z"}]}}