[BUG] Network error causes conversation lock (wiggle_container_in_use) and duplicate message in composer (tree_shrink)

Status Open
Maintainer reply None cached
Activity 0 comments · opened Jul 29, 2026

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?

When a network error interrupts Claude's response mid-stream, two related issues occur on Claude Desktop (Ubuntu 24.04):

  1. The conversation's code execution container gets permanently locked, returning "wiggle_container_in_use" (Another response is already running in this conversation's code execution environment) on every subsequent message. This never resolves on its own — the conversation becomes unusable and must be abandoned.
  1. The local message tree is resynced with reason "tree_shrink" (see logs below), which causes the user's already-sent message (sometimes with attachments) to reappear in the composer input field as if never sent — risking accidental duplicate submission.

Both issues reproduce reliably when a network error occurs during tool use (Filesystem MCP / code execution).

What Should Happen?

  1. A network error should not permanently lock the conversation's code execution container. The app should detect the stale lock and allow retry, or automatically release it after a timeout.
  1. After a tree_shrink resync, the composer should not be repopulated with content that was already successfully sent — or at minimum, the UI should clearly indicate this is a recovered draft, not silently risk a duplicate send.

Error Messages/Logs

From main.log:
[error] [COMPLETION] Request failed {"type":"invalid_request_error","statusCode":0,"extra":{"details":{"error_visibility":"user_facing","error_code":"wiggle_container_in_use"}},"errorCode":"wiggle_container_in_use","message":"Another response is already running in this conversation's code execution environment. Wait for it to finish before trying again."}

From claude.ai-web.log:
[error] [COMPLETION] Request failed {"name":"TypeError","message":"network error"}

[warn] [COMPLETION] message_store_sync_blocked {"reason":"tree_shrink","prev_tree_count":34,"new_tree_count":32,"tree_lost_count":2}

Steps to Reproduce

  1. Open Claude Desktop on Ubuntu 24.04, in a conversation using a tool (e.g. Filesystem MCP connector or code execution/analysis tool).
  2. Send a message that triggers a tool call, while the underlying network connection has a brief instability/drop.
  3. Observe a "network error" in the app UI and in main.log / claude.ai-web.log.
  4. Retry sending a message in the same conversation.
  5. Observe the error "wiggle_container_in_use" — the conversation becomes permanently stuck; every retry fails with the same error.
  6. Separately/additionally: after the network error, check the composer input field — the previously sent message (and any attachments) may reappear there as if never sent, due to a "tree_shrink" resync event visible in claude.ai-web.log.

Environment:

  • OS: Ubuntu 24.04
  • App: Claude Desktop (Linux), version 1.24012.9
  • Connector involved: Filesystem MCP

Claude Model

None

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

N/A - this is Claude Desktop app, not the CLI. Desktop app version: 1.24012.9

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

Other

Additional Information

This is a Claude Desktop (Electron) app issue, not Claude Code CLI - some fields above (Terminal/Shell, Claude Code Version) don't perfectly apply and were marked accordingly.

View original on GitHub ↗