[BUG] VSCode Remote SSH: Extremely slow tool execution / UI unresponsive (regression in 2.1.20+)
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?
Description
Claude Code becomes extremely slow on Remote SSH connections. Tool calls that should complete quickly take very long or appear to hang indefinitely. In some cases, clicking "Stop" or reloading VSCode causes outputs to appear: suggesting work may have completed but wasn't displayed. In other cases, it's unclear if the slowness is actual processing time or a UI/streaming issue.
Environment
- Claude Code Version: 2.1.25 (also affects 2.1.23, 2.1.22, 2.1.21, 2.1.20)
- Working Version: 2.1.19 and earlier
- OS: Linux (SLURM cluster login node)
- VSCode: 1.108.2 via Remote SSH extension
- Filesystem: Home on ext4, working directory on BeeGFS (parallel network FS)
Symptoms
- Extension shows working indicator ("Tinkering...", "Wibbling...") for extended periods
- Simple tool calls (file reads, bash commands) take minutes instead of seconds
- Sometimes outputs appear after clicking Stop/reload
- Extension logs show high-frequency polling (~2000+
get_session_requestcalls per session)
What Should Happen?
Tool calls should execute and display results in real-time, as they do in version 2.1.19 and when running locally (not over Remote SSH).
Error Messages/Logs
During initial downgrade attempt to 2.1.20:
API Error: 400 due to tool use concurrency issues.
Extension logs show excessive polling:
- 2000+ `get_session_request` calls per session
- Constant `Getting authentication status` / `OAuth tokens found in secure storage` spam
Steps to Reproduce
- Connect to a remote Linux server via VSCode Remote SSH
- Install Claude Code extension version 2.1.20 or later
- Open Claude Code panel and start a conversation
- Send a prompt that triggers tool use (e.g., "list files in current directory")
- Observe: UI shows working indicator but no output appears for extended time
- Click Stop or reload VSCode window
- Observe: Tool outputs may suddenly appear, indicating work completed but wasn't displayed
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.1.19
Claude Code Version
2.1.25
Platform
Anthropic API
Operating System
Other Linux
Terminal/Shell
VS Code integrated terminal
Additional Information
Diagnostic Steps Taken
Things I tested that were NOT the cause:
| Check | Result |
|-------|--------|
| Network latency to Anthropic API | ✅ Fine (~120ms) |
| API connectivity | ✅ Established connections |
| System memory | ✅ 83GB available |
| CPU limits (cgroups) | ✅ 4 cores, no throttling |
| ulimits | ✅ 1M open files |
| Disk space | ✅ Sufficient |
| ~/.claude location | ✅ On ext4 /home, not slow network FS |
| OOM kills / kernel throttling | ✅ None |
| File locks | ✅ Normal |
| Process state | ✅ Running, not stuck |
Suspicious findings (not root cause):
- Multiple Claude processes running simultaneously (3)
- Large session files (17MB, 10MB, 3.4MB
.jsonl) - 817 files in
~/.claude/todos/ - Excessive polling in logs
My attempts before diagnosis:
- Removed files and reduced home directory size
- Checked CPU usage
- Killed SLURM jobs
- Reloaded VSCode window multiple times
- Symlinked
~/.claudeto working directory (did not help)
Downgrade attempts:
- Downgrade to 2.1.20 → Got "API Error: 400 due to tool use concurrency issues"
- Downgrade to 2.1.19 → Issue resolved ✅
Related Issues
- #11689 - VSCode Extension UI freezes 26+ minutes on Remote SSH (closed NOT_PLANNED)
- #10181 - Bash tool runs extremely slowly on Linux (open, 27 👍)
- #20571 - Tool use concurrency error after Jan 23-24 update
- #21825 - Broken in v2.1.25, works in v2.1.19
- #21097 - API Error 400 on every tool call
- #20632 - MCP server causing concurrency 400 errors
Workaround
Downgrade to version 2.1.19 resolves the issue.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗