“Failed to fetch template”
ChatGPT could not get the view's HTML for the tool it just ran, from its own store of the app or from your server. The three common causes: (1) ChatGPT's own copy of the published widget is missing: the request to chatgpt.com/backend-api/ecosystem/widget returns 404 before your server is contacted. To tell: The doctor passes and your server logs show no resources/read; the browser's network panel shows the ecosystem/widget 404. It is ChatGPT's to fix: contact OpenAI support with the plugin ID. (2) The connector session was dropped (seen after "Always allow" on a tool approval in developer mode), so ChatGPT cannot read the resource until the account is linked again. To tell: It starts after an approval change and clears after re-linking; the doctor passes. (3) Your server cannot answer resources/read for the URI the published tool links: the read fails, or a deploy renamed the view. To tell: The doctor fails at resource-read. One command shows which: npx --allow-git=root github:agentwares/mcp-apps-doctor https://your-server.example/mcp --host chatgpt.
Check your server now
npx --allow-git=root github:agentwares/mcp-apps-doctor https://your-server.example/mcp --host chatgpt
Discovery only: no credential, no tool called. It prints the first broken step, whose it is, and the fix with its source, and shows the view in a sandboxed preview.
Who prints it
ChatGPT, in place of a published app's widget.
The three causes, and how to tell them apart
- Cause 1. ChatGPT's own copy of the published widget is missing: the request to chatgpt.com/backend-api/ecosystem/widget returns 404 before your server is contacted.
The check cannot see this one from outside: it happens inside the host or the portal. The doctor passes and your server logs show no resources/read; the browser's network panel shows the ecosystem/widget 404. It is ChatGPT's to fix: contact OpenAI support with the plugin ID. - Cause 2. The connector session was dropped (seen after "Always allow" on a tool approval in developer mode), so ChatGPT cannot read the resource until the account is linked again.
The check cannot see this one from outside: it happens inside the host or the portal. It starts after an approval change and clears after re-linking; the doctor passes. - Cause 3. Your server cannot answer resources/read for the URI the published tool links: the read fails, or a deploy renamed the view.
The check flags it atresource-read. The doctor fails at resource-read.
Sources and public reports
- a published app's widget failed with ecosystem/widget 404; escalated to OpenAI, no workaround given [observed in OpenAI community: Failed to fetch template / ecosystem/widget 404, opened 16 June 2026]
- "Always allow" dropped the connector session; the widget failed with "Failed to fetch template" [observed in openai/openai-apps-sdk-examples#225, opened 6 July 2026]
Keep checking
Other messages
- “MCP App renders blank”
- “Resource not found: ui://”
- “Tool has no UI”
- “Invalid ui.domain format”
- “ui.domain mismatch”
- “Refused to load the script”
- “annotations_required”
- “domain_verification_required”
- “frame_domain_explanation_required”
- “screenshots_not_allowed”
Written 8 October 2026 from the sources above. The MCP Apps check · MCP Liveness · Terms · Privacy