Bug report: Filesystem extension v2026.7.10 — 100% tool-call failure on Claude Desktop 1.24012.1 (Windows)
Environment
- OS: Windows 11 Enterprise 10.0.26200
- Claude Desktop: 1.24012.1, Microsoft Store MSIX build (
C:\Program Files\WindowsApps\Claude_1.24012.1.0_x64__pzs8sxrjxfjjc)
- Filesystem extension: ant.dir.ant.anthropic.filesystem v2026.7.10 (auto-updated 2026-07-21 ~16:56 local; previously working for months)
- System Node: v22.22.0 (also reproduces with the app's built-in Node / UtilityProcess mode)
Symptom
After the extension auto-updated to 2026.7.10, every Filesystem tool call in desktop chat fails with a bare "Tool execution failed" — including list_allowed_directories, which takes zero arguments. 100% failure rate, all 14 tools. No error detail surfaced anywhere.
Key evidence (from %APPDATA%\Claude\logs)
-
Calls never reach the server. mcp-server-Filesystem.log shows every session since the update doing a successful initialize + tools/list, then zero tools/call messages ever arriving. The last tools/call logged is from 2026-07-20, pre-update. The renderer logs the call at its approval gate (tool_approval_gate … Filesystem:list_directory), then dispatch fails client-side.
-
The server binary is healthy. Driving the exact installed dist/index.js manually over JSON-RPC (system Node v22, same args/allowed dirs) succeeds for every tool: initialize, tools/list, list_allowed_directories, list_directory, get_file_info, error cases — all correct.
-
Version boundary identified by inspecting npm tarballs:
@modelcontextprotocol/server-filesystem ≤ 2025.8.21 — old tools/list shape (no outputSchema) → works with this desktop build (verified by dist-swap: calls dispatch and succeed until the app's extension-integrity check reverts the swap)
- ≥ 2025.11.25 — rewritten with
registerTool + outputSchema/structuredContent on every tool → this desktop build refuses to dispatch any call to the server
- MCP roots support (added 2025.7.29) is NOT the cause — it shipped in versions that worked for months.
-
Control case proving the bridge/dispatch path is fine: the Windows-MCP extension (registry-installed, old-style tool schema) lists AND executes tools in the same chat sessions without issue.
-
initialize latency regression: the v2026.7.10 server takes 8–13 s to answer initialize under the app (older versions: <1 s), which also trips the localMcpBridge startup path (ensureAllConfiguredConnected timed out after 10000ms → announcing partial/empty set).
Workarounds attempted — every alternative injection path is blocked by design
claude_desktop_config.json mcpServers entry (pinned server 2025.8.21, system Node): server connects and serves tools/list, but its tools are never bridged into chat — connecting DO bridge with: … (+0 local-mcp).
- Local
.mcpb extension (same pinned server, drag-installed, local.mcpb.* id): installs, launches, handshakes cleanly on every restart — localMcpBridge never announces it (only registry ant.dir.* extensions are announced).
- Swapping known-good
dist/ into the registry extension: works (calls dispatch and succeed) until the next enable/disable cycle, when the app's integrity check silently removes the extension's tool registration; only a full UI reinstall restores it (which also restores the broken code).
- Net result: no user-side fix exists. The app's (reasonable) security model blocks every repair path.
Additional bridge fragility observed
[localMcpBridge] no stdio servers connected is announced ~1 s after launch, racing server handshakes; recovery (late stdio connect after announce — reloading bridge) fires inconsistently.
- An enabled extension that can never launch (stale Windows-MCP entry) stalls
ensureAllConfiguredConnected into a 10 s timeout and an empty announce.
- Editing extension settings/manifest files on disk desyncs the app's registration state from the settings JSON; the extension launches but its tools silently vanish from chat with no error.
Impact
Filesystem access — the primary reason to run Claude Desktop over the browser — is completely unusable. This is the second multi-day filesystem breakage on this machine. Current user workaround: routing all file operations through the third-party Windows-MCP extension.
Requests
- Ship a desktop build that dispatches calls to servers using the current MCP SDK tool schema (
outputSchema/structuredContent), or roll the bundled Filesystem extension back to the 2025.8.21 shape until the client is ready.
- Integration-test the bundled extension against each supported desktop build before auto-updating it in place (note: MS Store builds lag, widening the skew window).
- Surface dispatch failures with an actual error message instead of a bare "Tool execution failed".
- When an extension's integrity/registration check fails, say so in the UI instead of silently dropping its tools.
Bug report: Filesystem extension v2026.7.10 — 100% tool-call failure on Claude Desktop 1.24012.1 (Windows)
Environment
C:\Program Files\WindowsApps\Claude_1.24012.1.0_x64__pzs8sxrjxfjjc)Symptom
After the extension auto-updated to 2026.7.10, every Filesystem tool call in desktop chat fails with a bare "Tool execution failed" — including
list_allowed_directories, which takes zero arguments. 100% failure rate, all 14 tools. No error detail surfaced anywhere.Key evidence (from %APPDATA%\Claude\logs)
Calls never reach the server.
mcp-server-Filesystem.logshows every session since the update doing a successfulinitialize+tools/list, then zerotools/callmessages ever arriving. The lasttools/calllogged is from 2026-07-20, pre-update. The renderer logs the call at its approval gate (tool_approval_gate … Filesystem:list_directory), then dispatch fails client-side.The server binary is healthy. Driving the exact installed
dist/index.jsmanually over JSON-RPC (system Node v22, same args/allowed dirs) succeeds for every tool: initialize, tools/list, list_allowed_directories, list_directory, get_file_info, error cases — all correct.Version boundary identified by inspecting npm tarballs:
@modelcontextprotocol/server-filesystem≤ 2025.8.21 — oldtools/listshape (nooutputSchema) → works with this desktop build (verified by dist-swap: calls dispatch and succeed until the app's extension-integrity check reverts the swap)registerTool+outputSchema/structuredContenton every tool → this desktop build refuses to dispatch any call to the serverControl case proving the bridge/dispatch path is fine: the Windows-MCP extension (registry-installed, old-style tool schema) lists AND executes tools in the same chat sessions without issue.
initializelatency regression: the v2026.7.10 server takes 8–13 s to answerinitializeunder the app (older versions: <1 s), which also trips thelocalMcpBridgestartup path (ensureAllConfiguredConnected timed out after 10000ms → announcing partial/empty set).Workarounds attempted — every alternative injection path is blocked by design
claude_desktop_config.jsonmcpServersentry (pinned server 2025.8.21, system Node): server connects and servestools/list, but its tools are never bridged into chat —connecting DO bridge with: … (+0 local-mcp)..mcpbextension (same pinned server, drag-installed,local.mcpb.*id): installs, launches, handshakes cleanly on every restart —localMcpBridgenever announces it (only registryant.dir.*extensions are announced).dist/into the registry extension: works (calls dispatch and succeed) until the next enable/disable cycle, when the app's integrity check silently removes the extension's tool registration; only a full UI reinstall restores it (which also restores the broken code).Additional bridge fragility observed
[localMcpBridge] no stdio servers connectedis announced ~1 s after launch, racing server handshakes; recovery (late stdio connect after announce — reloading bridge) fires inconsistently.ensureAllConfiguredConnectedinto a 10 s timeout and an empty announce.Impact
Filesystem access — the primary reason to run Claude Desktop over the browser — is completely unusable. This is the second multi-day filesystem breakage on this machine. Current user workaround: routing all file operations through the third-party Windows-MCP extension.
Requests
outputSchema/structuredContent), or roll the bundled Filesystem extension back to the 2025.8.21 shape until the client is ready.