Repository navigation
Description
[Bug]: Unavailable MCP viewport traps the client in a full-screen reconnect loop and requires app restart
Before submitting
- I searched open and closed issues and found related reports, but no exact duplicate of an unavailable MCP viewport causing this full-screen trap.
- I included the user-observed reproduction and read-only server evidence. The client loop has not been independently reproduced.
Area
apps/desktop and apps/mobile / MCP Apps. The user explicitly confirms the same full-screen reconnect loop in both the Windows desktop app and the iOS app. The connected host is Windows x64. Exact affected client builds are not yet recorded.
Steps to reproduce
User-observed sequence on an existing installation; not yet a clean-install reproduction:
- Create a thread containing a Blender MCP viewport produced by
blender.look. - Later, open that thread or its viewport when the referenced viewport is no longer available.
- Observe a full-screen connection/reconnection message that repeats indefinitely.
- Try to return to the conversation. The user reports that restarting the app is necessary to regain control.
The user currently cannot open the affected conversation. Whether fullscreen state is restored automatically on thread entry or the failure initially requires tapping the viewport remains to be investigated. The reason the viewport became unavailable is also unverified.
Expected behavior
An unavailable embedded viewport should show a bounded, local error with Retry and Close or Back. The conversation and navigation should remain accessible. A failed MCP App must not trap the entire client or require restarting the app.
Actual behavior
The user reports an indefinite full-screen connection loop and a required app restart in both Windows desktop and iOS. Reopening the affected conversation encounters the problem again.
Impact
Major degradation or frequent failure. Suggested high priority: the affected conversation is blocked, and the recovery workaround disrupts use of the entire client.
Restarting a desktop app that also hosts the server may put concurrent agent work at risk. Actual interruption or loss of parallel runs from this viewport failure has not been demonstrated. Restarting only a remote iOS client must be distinguished from restarting the host/server.
Version or commit
Read-only environment inspection: 0.0.46-nightly.20261011.2994 (server version). Affected client and iOS build: not recorded.
Environment
Affected clients: Windows desktop and iOS, both confirmed by the user. Connected host: Windows x64. Affected thread uses Codex / gpt-6.1-sol. Blender MCP app resource: ui://mcp-for-blender/viewport-v2.
Logs or stack traces
Read-only inspection on 2026-10-12 confirmed:
- The affected thread remains readable through
t3_thread_read. - Its durable state is
completed, withactiveRunId: nulland no pending requests. The two latest runs are recorded as completed. - A completed
blender.lookresult containst3McpApp, withserver: blender,tool: look, andresourceUri: ui://mcp-for-blender/viewport-v2. - The same result includes an image and a text result, suggesting a static fallback could preserve access to the tool output.
These observations establish the stored viewport reference and accessible thread history. They do not establish the client-side retry mechanism, current resource availability, or the cause of the full-screen failure. No client stack trace or recording was captured.
Related reports
- [Bug]: iOS 2.0.0 (103) repeatedly reconnects when opening one existing thread, including after un-settling #15365: existing-thread reconnect loop on iOS; does not identify a missing MCP viewport or this full-screen trap.
- [Bug]: Jira MCP Apps render blank inline cards despite successful tool results #16992: MCP App initialization/render failure with missing user-visible fallback; different reported failure.
- [Bug]: Restart continuation skips all Codex threads when shutdown preparation does not finish (shared session stopped by first reconciled thread) #15749: separate server-restart continuation failure affecting Codex runs. Relevant to the potential cost of a host restart, not evidence that this viewport bug interrupts runs.
Workaround
The user reports restarting the app to escape the loop. This restores client control but does not resolve opening the affected conversation. The thread can currently be read through the server's thread-read API.
Verification requested
Test unavailable MCP resources during thread reopen and fullscreen restore. Check that Close/Back works, retries terminate, navigation remains usable, and existing agent runs continue. Verify desktop and mobile separately.
Activity
juliusmarminge commentedon Oct 12, 2026
Note
Grok responding on behalf of Julius.
This needs a reproduction before we can act on it. On main, nothing traps you in an MCP App full screen. Full screen only opens when the app itself asks for it (
ui/request-display-mode). The modal always has an X / Exit full screen button that pops back to the thread. If the app fails to load, it shows "Unable to load the blender app" instead of retrying. The "connecting/reconnecting" text is most likely drawn by the Blender viewport inside its frame while it waits for a Blender instance that isn't running. If it's the client's connection banner instead, this is probably #15365.Could you send:
If we don't hear back within 14 days, this will auto-close.
robicity commentedon Oct 12, 2026
Follow-up to the reproduction questions, tested on 2026-10-12:
Client/build: Windows desktop
0.0.46-nightly.20261011.2994, verified from the running installation's executable version. The iOS behavior remains user-reported; its build has not been recorded.The Exit button is present, but overlaps the native window Close button. In the Windows app, the Blender fullscreen header starts at the very top of the window. Its rightmost
Exit full screenicon occupies the same area as the native T3 window's X. The minimize/fullscreen icon and X are visibly superimposed. This occurs both in a maximized window and in a smaller window. An attempt to click the accessibility-labelled Exit full screen control was followed by the T3 window becoming unusable; the desktop app had closed and the user restarted it to continue this diagnostic thread. I cannot independently attribute which overlapping hit target received that click, but the visual overlap is directly captured.Blender closed versus running: With Blender closed, opening the existing thread and bringing its stored
blender.lookrow into view automatically opened the Blender viewport full screen, without an explicit request from the user to expand it. The stored image showed a broken-image placeholder.After opening Blender 5.2.2 LTS, the add-on panel showed
Running on port 9876. The actual listening socket is on127.0.0.1:9876, and the configured MCP executable uses the same default port. Directget_addon_statusandget_scene_infocalls succeeded against that Blender instance. Reopening the stored viewport still automatically opened full screen. Refresh displayed:The viewport remained stuck with the broken image after Refresh. The same visible failure occurred in another existing Blender thread opened during the test. No Confirm/Cancel recovery dialog appeared in this controlled attempt. This does not identify why the embedded app's request fails while direct MCP calls succeed.
Clarification of the original report: The user reports that X can be pressed, but the same window appears again. This is a close/reopen loop, rather than a claim that the X never reacts. I have independently verified Windows fullscreen entry, blocked navigation, the overlapping Close/Exit controls and the failed Refresh with Blender running. I have not completed an independent series of close/reopen cycles, because the overlapping control shut down T3 during the first exit attempt. I have not reproduced the iOS client behavior.
Static investigation lead: The installed Blender viewport declares only
fullscreenand callsgoFullscreen()immediately afterui/initialize. In current T3 mobile source, returning from fullscreen reloads the inline app document (McpAppWebView.tsx, lines 203-215). That new document can request fullscreen again. This is a plausible mobile close/reopen mechanism, not a confirmed runtime trace:t3code/apps/mobile/src/features/threads/McpAppWebView.tsx
Lines 203 to 215 in 48595c7
Screenshots were captured successfully. The attempted window video contained black frames and is not usable evidence. The screenshots can document the Windows overlap and Refresh error; no private conversation contents or signed asset URLs are included in this comment.
robicity commentedon Oct 12, 2026
Adding the requested screenshot evidence.
The user confirms iOS TestFlight version 2.0.0; the exact TestFlight build number is still unknown. The two iOS screenshots show the Blender fullscreen view, a visible X, a broken viewport image, and then the explicit error:
Couldn't reach Blender: The app's MCP server request failed.These are still images, so they do not independently demonstrate the repeated reopening. The user reports that pressing X closes the view but the same fullscreen view immediately opens again.
The third screenshot is from the Windows desktop test described above. It shows the Refresh error and the fullscreen-exit icon overlapping the native window X.
trentwadams commentedon Oct 13, 2026
Follow-up confirming the same behaviour on a second setup, tested on 2026-10-13:
Same symptoms on iOS and Windows desktop. On iOS, the Blender viewport opens full screen with the X visible. Pressing X closes it, but the same full-screen view opens again straight away. On the Windows desktop app, the Blender full-screen header's
Exit full screenicon sits underneath the native window X, the same overlap shown in the screenshot above. Pressing 'esc' or any other key does not close the preview window.Setup differs from the original report: the backend is a Mac, reached remotely. T3 Code and the agents run on a Mac. I use them from a Windows PC: the Windows T3 desktop app connects to the Mac over Tailscale HTTPS (
tailscale serve, tailnet-only). So the overlap happens even when the Windows client is only displaying a remote Mac environment. The Blender MCP server and the Blender instance are both local to the Mac. The agent driving Blender is a Codex thread.Versions (Mac host):
0.0.46-nightly.20261013.3042blender_mcp.pyv1.8, listening on127.0.0.1:9876blender-mcp2.0.0, launched viauvx blender-mcpfrom the Codex MCP configClients:
0.0.46-nightly.20261013.30422.0.0 (122)Blender state: Blender was running, with the add-on listening on 9876 while this happened, so this isn't the Blender-closed case.
This matches the other report: the Exit control overlaps the native Close button on desktop, and the full-screen view reopens after closing on iOS. My setup adds a remote macOS backend over Tailscale, which suggests the problem is in the client and not tied to where the backend runs.