Claude Code VS Code extension freezes with multiple chat tabs? Workaround for Windows

Published: (February 28, 2026 at 08:09 PM EST)
2 min read
Source: Dev.to

Source: Dev.to

Issue

The Claude Code VS Code extension can freeze or hang when multiple chat tabs (agents) are open. The problem is caused by several claude.exe processes contending for the same ~/.claude.json file without any file‑locking mechanism.

Anthropic’s changelog for version 2.0.61 states:

Reverted VSCode support for multiple terminal clients due to responsiveness issues.

They added multi‑tab support, found it broke, and then reverted it. Versions prior to 2.0.61 (e.g., 2.0.60) work fine with multiple tabs.

Workaround

1. Install version 2.0.60 and disable auto‑updates

  1. Download the 2.0.60 VSIX from the extension marketplace.
  2. Install it manually (Extensions → Install from VSIX…).
  3. Turn off auto‑updates for the extension to prevent it from being upgraded to 2.0.61 or later.

2. Patch claude.exe to recognize Opus 4.6

Version 2.0.60 hard‑codes the model identifier claude‑opus‑4‑5‑20251101, so it does not recognize the newer Opus 4.6 model. The following PowerShell script backs up the original binary and replaces every occurrence of the old identifier with claude‑opus‑4‑6.

# Back up the original binary
$dir = "$env:USERPROFILE\.vscode\extensions\anthropic.claude-code-2.0.60-win32-x64\resources\native-binary"
Copy-Item "$dir\claude.exe" "$dir\claude.exe.bak"

# Load the binary into memory
$bytes = [System.IO.File]::ReadAllBytes("$dir\claude.exe")
$enc   = [System.Text.Encoding]::GetEncoding("iso-8859-1")
$text  = $enc.GetString($bytes)

# Replace all occurrences
$idx   = 0
$count = 0
while (($idx = $text.IndexOf('"claude-opus-4-5-20251101"', $idx)) -ne -1) {
    $replacement = $enc.GetBytes('"claude-opus-4-6"         ')   # keep same length
    [Array]::Copy($replacement, 0, $bytes, $idx, $replacement.Length)
    $count++
    $idx += 26   # length of the original string
}

# Write the patched binary back to disk
[System.IO.File]::WriteAllBytes("$dir\claude.exe", $bytes)
Write-Host "Patched $count occurrence(s)."

The script should report 6 occurrences patched.

After the patch, restart VS Code. When you ask the model “What model are you?”, it should now respond with Opus 4.6.

3. Adjust the path for Cursor (optional)

If you also use the Cursor extension, update its path to point to the patched claude.exe (e.g., \.cursor\extensions\...).

4. Restoring the original binary

To revert to the unmodified version:

Copy-Item "$dir\claude.exe.bak" "$dir\claude.exe" -Force

Or simply replace claude.exe with the backup file manually.

With version 2.0.60 installed and the binary patched, the Claude Code extension works smoothly with multiple chat tabs on Windows.

0 views
Back to Blog

Related posts

Read more »

Welcome (back) to Macintosh

macOS Reliability Issues – A Summary All of the problems described below are traceable to components that are fully under Apple’s control. None are impossible...