Skip to content

beta branch: when Claude Code reconnects, Unity session becomes "no session" even though handshake succeeds. This breaks the workflow completely. Logs attached. But Sometimes it works,and the bug only occurs in beta by using http to connect #643

@whatevertogo

Description

@whatevertogo

the python server:

[01/29/26 00:27:10] INFO Starting MCP server 'mcp-for-unity-server' with transport 'http' on server.py:2618
http://localhost:8080/mcp
INFO: Started server process [47480]
INFO: Waiting for application startup.
2026-01-29 00:27:10,235 - docket.worker - INFO - Starting worker 'mylove#47480' with the following tasks:
2026-01-29 00:27:10,235 - docket.worker - INFO - * trace(message: str, ...)
2026-01-29 00:27:10,235 - docket.worker - INFO - * fail(message: str, ...)
2026-01-29 00:27:10,235 - docket.worker - INFO - * sleep(seconds: float, ...)
2026-01-29 00:27:10,236 - mcp.server.streamable_http_manager - INFO - StreamableHTTP session manager started
INFO: Application startup complete.
INFO: Uvicorn running on http://localhost:8080 (Press CTRL+C to quit)
INFO: ('::1', 60557) - "WebSocket /hub/plugin" [accepted]
INFO: connection open
2026-01-29 00:27:20,308 - mcp.server.streamable_http_manager - INFO - Created new transport with session ID: 4cefe6618a6d4f468265163a4df0d52f
INFO: ::1:60562 - "POST /mcp HTTP/1.1" 200 OK
INFO: ::1:60562 - "POST /mcp HTTP/1.1" 202 Accepted
INFO: ::1:60562 - "GET /mcp HTTP/1.1" 200 OK
2026-01-29 00:27:20,319 - asyncio - ERROR - Task exception was never retrieved
future: <Task finished name='Task-38' coro=<IocpProactor.accept..accept_coro() done, defined at C:\Users\18794\AppData\Roaming\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\asyncio\windows_events.py:564> exception=OSError(22, 'The specified network name is no longer available.', None, 64, None)>
Traceback (most recent call last):
File "C:\Users\18794\AppData\Roaming\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\asyncio\windows_events.py", line 567, in accept_coro
await future
File "C:\Users\18794\AppData\Roaming\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\asyncio\windows_events.py", line 804, in _poll
value = callback(transferred, key, ov)
File "C:\Users\18794\AppData\Roaming\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\asyncio\windows_events.py", line 556, in finish_accept
ov.getresult()
~~~~~~~~~~~~^^
OSError: [WinError 64] The specified network name is no longer available.
2026-01-29 00:27:20,321 - asyncio - ERROR - Accept failed on a socket
socket: <asyncio.TransportSocket fd=960, family=2, type=1, proto=0, laddr=('127.0.0.1', 8080)>
Traceback (most recent call last):
File "C:\Users\18794\AppData\Roaming\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\asyncio\proactor_events.py", line 845, in loop
conn, addr = f.result()
~~~~~~~~^^
OSError: [WinError 64] The specified network name is no longer available.
INFO: ::1:60564 - "POST /mcp HTTP/1.1" 200 OK
INFO: ::1:60566 - "POST /mcp HTTP/1.1" 200 OK

the Unity Console:

<color=#2EA3FF>MCP-FOR-UNITY: [WebSocket] Registered with session ID: 61d3bedc-964c-4336-8955-49fadb0a14e8
UnityEngine.Debug:Log (object)
MCPForUnity.Editor.Helpers.McpLog:Info (string,bool) (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Helpers/McpLog.cs:40)
MCPForUnity.Editor.Services.Transport.Transports.WebSocketTransportClient/d__41:MoveNext () (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Services/Transport/Transports/WebSocketTransportClient.cs:422)
System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start<MCPForUnity.Editor.Services.Transport.Transports.WebSocketTransportClient/d__41> (MCPForUnity.Editor.Services.Transport.Transports.WebSocketTransportClient/d__41&)
MCPForUnity.Editor.Services.Transport.Transports.WebSocketTransportClient:HandleRegisteredAsync (Newtonsoft.Json.Linq.JObject,System.Threading.CancellationToken)
MCPForUnity.Editor.Services.Transport.Transports.WebSocketTransportClient/d__39:MoveNext () (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Services/Transport/Transports/WebSocketTransportClient.cs:382)
System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start<MCPForUnity.Editor.Services.Transport.Transports.WebSocketTransportClient/d__39> (MCPForUnity.Editor.Services.Transport.Transports.WebSocketTransportClient/d__39&)
MCPForUnity.Editor.Services.Transport.Transports.WebSocketTransportClient:HandleMessageAsync (string,System.Threading.CancellationToken)
MCPForUnity.Editor.Services.Transport.Transports.WebSocketTransportClient/d__37:MoveNext () (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Services/Transport/Transports/WebSocketTransportClient.cs:293)
System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetResult (string)
MCPForUnity.Editor.Services.Transport.Transports.WebSocketTransportClient/d__38:MoveNext () (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Services/Transport/Transports/WebSocketTransportClient.cs:359)
System.Threading._ThreadPoolWaitCallback:PerformWaitCallback ()

<color=#2EA3FF>MCP-FOR-UNITY: [WebSocket] Preparing to register 19 tool(s) with the bridge.
UnityEngine.Debug:Log (object)
MCPForUnity.Editor.Helpers.McpLog:Info (string,bool) (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Helpers/McpLog.cs:40)
MCPForUnity.Editor.Services.Transport.Transports.WebSocketTransportClient/d__42:MoveNext () (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Services/Transport/Transports/WebSocketTransportClient.cs:435)
System.Threading._ThreadPoolWaitCallback:PerformWaitCallback ()

<color=#2EA3FF>MCP-FOR-UNITY: [WebSocket] Sent 19 tools registration
UnityEngine.Debug:Log (object)
MCPForUnity.Editor.Helpers.McpLog:Info (string,bool) (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Helpers/McpLog.cs:40)
MCPForUnity.Editor.Services.Transport.Transports.WebSocketTransportClient/d__42:MoveNext () (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Services/Transport/Transports/WebSocketTransportClient.cs:475)
System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetResult ()
MCPForUnity.Editor.Services.Transport.Transports.WebSocketTransportClient/d__47:MoveNext () (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Services/Transport/Transports/WebSocketTransportClient.cs:619)
System.Threading._ThreadPoolWaitCallback:PerformWaitCallback ()

<color=#6AA84F>MCP-FOR-UNITY: Connection verification successful: Transport 'websocket' connected [ws://localhost:8080/hub/plugin]
UnityEngine.Debug:Log (object)
MCPForUnity.Editor.Helpers.McpLog:Debug (string) (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Helpers/McpLog.cs:34)
MCPForUnity.Editor.Windows.Components.Connection.McpConnectionSection/d__54:MoveNext () (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Windows/Components/Connection/McpConnectionSection.cs:780)
System.Runtime.CompilerServices.AsyncTaskMethodBuilder1<MCPForUnity.Editor.Services.BridgeVerificationResult>:SetResult (MCPForUnity.Editor.Services.BridgeVerificationResult) MCPForUnity.Editor.Services.BridgeControlService/<VerifyAsync>d__15:MoveNext () (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Services/BridgeControlService.cs:136) System.Runtime.CompilerServices.AsyncTaskMethodBuilder1:SetResult (bool)
MCPForUnity.Editor.Services.Transport.TransportManager/d__16:MoveNext () (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Services/Transport/TransportManager.cs:120)
UnityEngine.UnitySynchronizationContext:ExecuteTasks ()

<color=#2EA3FF>MCP-FOR-UNITY: Server no longer running; ending orphaned session.
UnityEngine.Debug:Log (object)
MCPForUnity.Editor.Helpers.McpLog:Info (string,bool) (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Helpers/McpLog.cs:40)
MCPForUnity.Editor.Windows.Components.Connection.McpConnectionSection:UpdateConnectionStatus () (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Windows/Components/Connection/McpConnectionSection.cs:299)
MCPForUnity.Editor.Windows.MCPForUnityEditorWindow:OnEditorUpdate () (at D:/GitObjectsOwn/unity-mcp/unity-mcp/MCPForUnity/Editor/Windows/MCPForUnityEditorWindow.cs:373)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions ()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions