[BUG] Research/Cowork mode: "API connection timeout" despite healthy session completion - local_ session IDs causing UUID validation errors

Resolved 💬 2 comments Opened Jan 24, 2026 by emergentcap Closed Jan 24, 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?

Description:

When using Research/Cowork mode, requests hang at "starting request..." for ~3 minutes before showing "API connection timeout", even though the backend logs show the session completed successfully with cycle_health: 'healthy'.

Environment:

Claude Desktop: 1.1.799
Claude Code SDK: 2.1.15
macOS: 26.2.0 (Darwin 25.2.0)
Apple M3 Pro
Symptoms:

UI shows "starting request..." then times out after ~3 minutes
Backend logs show cycle_health: 'healthy' and had_first_response: true
Process exits cleanly with exit_code: 0
Root cause (from logs):

UUID validation errors - Local session IDs (prefixed with local_) appear to be sent to the web API, causing validation failures:

[REACT_QUERY_CLIENT] QueryClient error: Error: path.conversation_uuid: Input should be a valid UUID, invalid character: expected an optional prefix of urn:uuid: followed by [0-9a-fA-F-], found l at 1

CSP blocking API endpoint:

Refused to connect to 'https://a-api.anthropic.com/v1/m' because it violates the following Content Security Policy directive: "connect-src 'self' https://api.segment.io..."

Multiple React hydration errors (#418) in the UI

Logs showing healthy backend but broken UI:

main.log shows success:

cycle_health: 'healthy',
had_first_response: true,
seconds_to_outcome: 178

But claude.ai-web.log shows errors:

[REACT_QUERY_CLIENT] QueryClient error: Error: path.conversation_uuid: Input should be a valid UUID...

Workaround:
None found. Clearing caches and resetting VM session data did not resolve the issue.

----from code research eval-
Interesting! The logs show the session actually completed successfully with cycle_health: 'healthy' and had_first_response: true. The process ran for ~178 seconds and exited cleanly (exit_code: 0).

But you're seeing "API connection timeout" in the UI. This is a discrepancy - the backend thinks it succeeded, but the UI is showing a timeout.

Let me check for the actual error:

Ran 2 commands
I found the issue. There are multiple problems in the logs:

Key findings:

CSP blocking API calls:

Refused to connect to 'https://a-api.anthropic.com/v1/m' because it violates the following Content Security Policy directive

React hydration errors (React error #418) - indicating UI state issues

UUID validation errors:

path.conversation_uuid: Input should be a valid UUID, invalid character: expected an optional prefix of urn:uuid: followed by [0-9a-fA-F-], found l at 1

This suggests local session IDs (starting with local_) are being incorrectly sent to the API.

This appears to be an app-level bug. The session logs show "healthy" completion, but the UI is experiencing issues.

Recommended fix - Full reset:

1. Quit Claude completely

killall Claude

2. Clear all caches and temporary data

rm -rf ~/Library/Caches/com.anthropic.claudefordesktop
rm -rf ~/Library/Application\ Support/Claude/Cache
rm -rf ~/Library/Application\ Support/Claude/GPUCache
rm -rf ~/Library/Application\ Support/Claude/Code\ Cache

3. Reset the VM session data

rm -rf ~/Library/Application\ Support/Claude/vm_bundles/claudevm.bundle/sessiondata.img

4. Clear local agent mode sessions (this will lose conversation history)

rm -rf ~/Library/Application\ Support/Claude/local-agent-mode-sessions

5. Restart Claude

open -a Claude

If you don't want to lose conversation history, try just steps 1-3 first and see if that helps.

This looks like a bug in the Claude desktop app version 1.1.799 where local session IDs are being passed to the web API incorrectly. You may want to report this to Anthropic at https://github.com/anthropics/claude-code/issues

What Should Happen?

What should happen:

When you submit a prompt in Research/Cowork mode:

The prompt should be sent to the VM
The VM process should make an API request to Anthropic
The response should stream back to the UI
You should see Claude's response appear in the chat
What's actually happening:

The prompt is sent to the VM ✅
The VM process starts and runs ✅
The backend reports success (cycle_health: 'healthy') ✅
But the UI never receives/displays the response ❌
The UI shows "API connection timeout" after ~3 minutes
The disconnect:

The backend thinks everything worked, but the UI layer is broken. The local_ prefixed session IDs are being incorrectly passed to an API endpoint that expects standard UUIDs, causing the UI to fail to retrieve or display the response.

Add this to the bug report:

Expected behavior:

Prompt submission should display Claude's response within seconds
The response that the backend successfully generated should appear in the chat UI
Actual behavior:

UI shows "starting request..." indefinitely
After ~3 minutes, displays "API connection timeout"
Backend logs show the request completed successfully, but the response never reaches the UI
Session ID format mismatch (local_* vs UUID) appears to break the UI's ability to retrieve the response

Error Messages/Logs

Steps to Reproduce

Steps to reproduce:

Open Claude Desktop app (version 1.1.799)
Start a new conversation in Research/Cowork mode (the mode that uses the VM)
Enter any prompt (e.g., "Hello")
Observe the UI shows "starting request..."
Wait approximately 3 minutes
UI displays "API connection timeout" error
Expected result:
Claude's response appears within seconds

Actual result:

UI hangs on "starting request..." for ~3 minutes
"API connection timeout" error is displayed
Backend logs show cycle_health: 'healthy' and successful completion
claude.ai-web.log shows UUID validation errors for local_ prefixed session IDs

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

Not sure...

Claude Code Version

Claude Code SDK: 2.1.15 Claude Desktop App: 1.1.799

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗