anthropics / anthropics/claude-code

[BUG] Claude Desktop (Windows): local MCP tool calls freeze while the session tab is not visible; hosted calls and scheduled tasks unaffected

Open
#93,133 0 comments 0 reactions 0 assignees View on GitHub
area:desktop area:mcp bug platform:windows
Dominant language
Python
Stars
145k
Forks
23.1k
PR merge metrics
PR metrics pending

Description

### Preflight Checklist

- [x] I have searched [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug) 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?

**Related (all closed or off-target):** #48045 (same bug, auto-closed stale and locked before a fix), #57602 (session auto-archives on focus loss), #68625 (`timeoutOnHidden` lifecycle teardown traced in app.asar), #65643 (the 4-minute "No result received" timeout this bug triggers). Filing new because #48045 is locked.

### What's wrong

In Claude Desktop on Windows, a **local MCP tool call** (stdio server: filesystem, mssql, Salesforce DX) issued from a chat or Cowork session does not start or complete while that session's tab is not the visible one. It resumes the moment the tab is shown. Hosted MCP calls (Atlassian, Microsoft 365) and model generation continue normally in hidden sessions. The identical local calls complete unattended when run from a Cowork scheduled task, and run instantly outside Claude.

With several sessions open, any local call in a non-visible session sits frozen until the user looks at it, and hits the 4-minute cap, producing "No result received from the Claude Desktop app after waiting 4 minutes. The local MCP server providing this tool may be unresponsive, crashed, or not running." The server is healthy; the message misattributes the cause.

### Repro (2026-09-09, Windows 11, Claude Desktop current release, Team plan)

| Test | Session visible? | Result |
|---|---|---|
| `mssql:execute_sql` `SELECT 1` | Yes, stayed on tab | Completed in ~14 s |
| Same call, switched to another session tab for ~2 min | No | Frozen at 2m+ on return; completed within ~2 s of tab becoming visible |
| Atlassian Jira search (hosted MCP), switched away ~2 min | No | Completed in background before return |
| Cowork scheduled task using the same `mssql` + Salesforce DX tools | Unattended | Completes reliably, several times daily |
| Same SQL via `sqlcmd`, same SOQL via `sf` CLI, outside Claude | N/A | 0 s / 2–3 s |

Restarting Desktop does not change the behaviour. Browser (claude.ai) sessions on this account do not expose local MCP servers, so there is no non-Desktop path for local tools. Desktop does not support multiple visible session windows (Ctrl+N opens a new chat, not a new window), so "keep it visible" is not a workaround when the workflow requires switching sessions.

### Impact

Users running several Cowork sessions in parallel lose sessions to this timeout daily. On our side it cost two weeks of diagnosis (throughput, contention, relay health) before the visibility dependency was isolated with the tests above.

### Environment
- Windows 11, wired network, corporate proxy (Zscaler)
- Claude Desktop: current release as of 2026-09-09
- Local MCP servers: filesystem (official), mssql, Salesforce DX

### What Should Happen?

Local MCP tool calls issued from a session should proceed while that session's tab is hidden, the same way hosted MCP calls and model generation already do. If pausing hidden sessions is intentional, in-flight tool calls should be allowed to finish, and the UI should say "paused — session not visible" instead of reporting a server timeout that blames a healthy MCP server.

### Error Messages/Logs

```shell

```

### Steps to Reproduce

1. Windows 11, Claude Desktop, with at least one local stdio MCP server configured (I used the official filesystem server and an mssql server; Salesforce DX shows the same behaviour).
2. Open two chat sessions, A and B.
3. In session A, ask Claude to run a trivial local MCP call (e.g. `mssql:execute_sql` with `SELECT 1`, or a small filesystem read). Stay on tab A. Note the turn timer — completes in ~14 s.
4. In session A, ask for the same call again. Immediately click session B in the sidebar and stay there for ~2 minutes.
5. Return to session A. Observe: the call is still in progress with the timer at 2m+, then completes within ~2 seconds of the tab becoming visible.
6. Control: repeat step 4 with a hosted MCP call instead (e.g. an Atlassian Jira search). Return after 2 minutes — it has completed in the background.
7. Control: run the same local call from a Cowork scheduled task with no session visible — it completes.
8. Leave a local call in a hidden session for more than 4 minutes — it fails with "No result received from the Claude Desktop app after waiting 4 minutes" even though the server is healthy.

### Claude Model

Opus

### Is this a regression?

I don't know

### Last Working Version

_No response_

### Claude Code Version

2.1.119

### Platform

Anthropic API

### Operating System

Windows

### Terminal/Shell

PowerShell

### Additional Information

claude desktop

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the behavior on Windows 11 in Claude Desktop with a local stdio MCP server, using the listed visible-session, hidden-session, hosted-call, and Cowork scheduled-task controls. Start by comparing the local-call lifecycle when session A is visible versus when session B is selected. Done means hidden-session local calls complete without waiting for visibility, or intentional pausing is clearly reported instead of a misleading healthy-server timeout.

Written by the indexing model from the issue text.

Assessment

Domain
desktop
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.