For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Primary navigation

Plugin UI changelog

Latest updates to plugin UI compatibility APIs and ChatGPT extensions.

July 2026

  • Legacy tool visibility metadata deprecated

    Fixes & improvements

    • Deprecated _meta["openai/visibility"] because its private value hides a tool from the model without specifying app visibility, which can make the intended audience unclear. Use _meta.ui.visibility to choose whether a tool is available to the model, the app, or both.

June 2026

  • App permission controls in ChatGPT

    Fixes & improvements

    • ChatGPT users can now choose when connected apps ask for permission: always, before making changes, or only before important changes. Personal accounts can set global and per-app preferences, while Business and Enterprise admins control workspace and per-app defaults.

May 2026

  • MCP Apps host style variables

    Fixes & improvements

    • ChatGPT now provides standardized MCP Apps host CSS variables through hostContext.styles.variables during initialization and updates them through ui/notifications/host-context-changed when the host theme changes, helping apps match ChatGPT’s light and dark appearance without hardcoded host-specific colors.

  • MCP Apps tool lifecycle updates

    Fixes & improvements

    • window.openai.toolResponseMetadata now preserves the canonical MCP tool result envelope, including hidden _meta, when ChatGPT launches widgets.

    • For tools that need user approval, ChatGPT now delivers widget tool input through the MCP Apps ui/notifications/tool-input lifecycle after approval instead of preloading it into the initial widget globals.

  • MCP server instructions

    Fixes & improvements

    • ChatGPT now reads MCP server instructions returned during initialization and uses them alongside tool metadata to understand cross-tool workflows, constraints, and server-wide guidance.

  • Output schema examples

    Fixes & improvements

    • Plugin UI and MCP server docs now show outputSchema in tool examples and recommend declaring one for tools that return structured content.

March 2026

  • Plugin distribution guidance

    Fixes & improvements

    • Approved Apps SDK integrations could be distributed as Codex plugins. At launch, plugins were available only in Codex.

  • File library helpers in window.openai

    Fixes & improvements

    • window.openai.selectFiles() lets widgets pick existing files from the user’s ChatGPT file library when that library is available.

    • window.openai.uploadFile(file, { library: true }) lets widgets save uploads into the user’s ChatGPT file library when that library is available.

  • Non-image file uploads

    Fixes & improvements

    • window.openai.uploadFile now supports non-image file types.

February 2026

  • MCP Apps compatibility

    Fixes & improvements

  • Plugin UI updates for redirects, widget descriptions, and follow-up scrolling

    Fixes & improvements

    • window.openai.openExternal({ href, redirectUrl }) supports redirectUrl: false, which prevents the host from appending ?redirectUrl=... to external links.

    • window.openai.setOpenInAppUrl({ href }) is the supported way to override the fullscreen “Open in ” destination; if you do not call it, ChatGPT keeps opening the widget’s current iframe path.

    • openai/widgetDescription is honored during resource construction and takes precedence over resource.description when present.

    • window.openai.sendFollowUpMessage supports a scrollToBottom parameter; it defaults to true, and you can pass false to opt out.

January 2026

  • Company knowledge compatibility guidance

  • Session metadata for tool calls & requestModal template switching

    Fixes & improvements

    • Tool calls now include _meta["openai/session"], an anonymized conversation id you can use to correlate requests within a ChatGPT session.

    • window.openai.requestModal({ template }) now supports opening a different registered UI template by passing the template URI from registerResource.

November 2025

  • Resources updates