How to Publish an App in ChatGPT (Now a Plugin) in 2026

ChatGPT apps now ship as plugins in one directory shared by ChatGPT and Codex. To get listed you need a verified OpenAI organization, a public HTTPS MCP server, four public policy URLs, eight test cases, a test account without MFA and a demo video. Review has no published timeline, and you cannot sell digital goods or subscriptions inside the plugin, so treat a listing as a distribution channel for a product you already sell elsewhere.

Editorial title card reading "How to Publish an App in ChatGPT (Now a Plugin) in 2026" beside the orange ZeroRaised mark.

Key takeaways

  • OpenAI's ChatGPT release notes for 9 July 2026 say it replaced the App Directory with the Plugin Directory, which ChatGPT and Codex now share. You submit a plugin package backed by an MCP server.
  • Submission needs a verified individual or business identity, a stable public HTTPS MCP server with domain verification, website, support, privacy and terms URLs, five positive and three negative test cases, a test account with no MFA, and a video walkthrough.
  • The most common rejections OpenAI lists are reviewers being unable to connect, failing test cases, undisclosed user data in responses, and tool annotations that do not match behaviour.
  • OpenAI's guidelines ban selling digital products, subscriptions, tokens or credits in the plugin, and ban ads. Physical goods can use external checkout on your own domain.
  • Our read: a listing is worth it if your product already solves a job people bring to ChatGPT and you monetise outside it. It is a weak bet as a standalone business.
On this page 20
  1. TL;DR
  2. What the ChatGPT directory is now
  3. Who can submit
  4. What you need before you submit
  5. Step by step: from server to published plugin
  6. What gets rejected
  7. Money: what you can and cannot sell
  8. Discovery: how people find your listing
  9. Apps SDK UI: do you need a widget?
  10. Is it worth it for an indie developer?
  11. Launch checklist
  12. How to promote your listing
  13. Frequently asked questions
  14. Are ChatGPT apps now called plugins?
  15. Does it cost anything to publish a plugin in ChatGPT?
  16. How long does ChatGPT plugin review take?
  17. Can I charge users inside a ChatGPT plugin?
  18. Do I need to build a custom UI for my ChatGPT plugin?
  19. Launch it on ZeroRaised too
  20. Sources

Short answer: To publish an app in ChatGPT today, you package it as a plugin backed by a public HTTPS MCP server, upload it in the OpenAI Platform dashboard under a verified identity, pass automated scans and a manual review, then press publish yourself. There is no fee listed, but you cannot sell digital goods or subscriptions inside it, so it works best as a free front door to a product you already charge for.

Every requirement below comes from OpenAI's own developer docs, release notes and help centre, checked on 14 Nov 2026. The advice in between is ours and is marked as such.

TL;DR#

  • Apps became plugins. OpenAI's release notes for 9 July 2026 say: "We're also replacing the App Directory with the Plugin Directory. Existing app connections are unaffected" (ChatGPT release notes). ChatGPT and Codex "share one universal plugin directory" (OpenAI plugin architecture).
  • Who can submit: organization owners, or members with the Apps Management Write permission, after individual or business verification (OpenAI submission docs).
  • What you need: a stable public HTTPS MCP server, domain verification, website, support, privacy and terms URLs, five positive and three negative test cases, an MFA-free test account and a demo video.
  • Review: no published timeline, one active review per plugin, and you choose when to publish after approval.
  • Money: no digital goods, subscriptions, tokens, credits or ads inside the plugin (plugin guidelines). Physical goods go through external checkout on your domain.
  • Our read: worth a week of work if ChatGPT users already ask for the job your product does. Not a business model on its own.

Disclosure: ZeroRaised publishes this guide and is a launch site for bootstrapped products. ZeroRaised has no commercial relationship with OpenAI and earns nothing if you publish a plugin. Facts come from the linked sources as checked on 14 Nov 2026.

What the ChatGPT directory is now#

The naming has changed within a year, which is why so many guides are out of date. OpenAI opened app submissions in December 2025, saying submissions would include "MCP connectivity details, testing guidelines, directory metadata, and country availability settings" (OpenAI announcement). Then, on 9 July 2026, OpenAI replaced the App Directory with the Plugin Directory and said existing app connections were unaffected (ChatGPT release notes). Apps still exist as the integrations that connect ChatGPT to outside services, and a plugin can include one or more apps, skills, or both (OpenAI Help).

OpenAI's developer docs now define plugins as "the packages people discover, install, share, and publish in ChatGPT and Codex." A plugin can hold skills (a folder with a SKILL.md file), an MCP server that exposes tools, and optional UI, which ChatGPT renders using the open MCP Apps UI standard (plugin architecture).

For an indie developer, one submission now reaches both ChatGPT and Codex users. New to the protocol? Read what Model Context Protocol is first. This post assumes you have a working server.

Who can submit#

From OpenAI's submission docs and review requirements:

  • Role. Organization owners can submit. Other members need the Apps Management Write permission, which an owner grants through organization roles.
  • Verification. You must complete individual or business verification for the name you publish under. OpenAI is blunt: "Publishing under an unverified individual or business name will result in rejection."
  • Public intent. Only submit if the plugin should be public in the countries you pick. For private or workspace-only use, OpenAI points you to a custom MCP connection instead.
  • Data residency. Projects with EU data residency cannot submit MCP plugins; you need a global-residency project.

What you need before you submit#

RequirementWhat OpenAI asks for
MCP serverStable, public HTTPS endpoint, not a local or testing one. Only one server can be connected per plugin
Domain verificationExact challenge token served as plain text at /.well-known/openai-apps-challenge on the MCP host or an eligible parent domain
AuthenticationNone, OAuth, or mixed. API-key and bearer-token flows are not supported in the portal
Listing metadatadisplayName (up to 30 characters), shortDescription (up to 30), longDescription (up to 4,000), developerName (up to 80), category
Four public URLsWebsite, support, privacy policy, terms of service, all HTTPS and identifying the same publisher
IconSquare, at least 48x48 px, PNG, JPEG, WebP or SVG, up to 5 MiB
Test casesFive positive cases (scenario, prompt, expected tools, expected result) and three negative cases (prompt where the plugin should not act, reason, expected fallback)
Test accountDedicated account with sample data that works immediately: no MFA, email or SMS codes, magic links or private-network access
VideoReviewer-accessible walkthrough showing the test cases, required for MCP review
Countriespublication.countries as uppercase codes such as US and GB
UI securityIf the server returns UI, a content security policy listing the exact domains it fetches from

Sources: submission docs, review requirements.

Two details catch people out. Reviewer credentials go in the dashboard's Review details, never the ZIP. And tool annotations come from your server: a written justification cannot override them, so fix, redeploy and rescan instead.

Step by step: from server to published plugin#

  1. Test it privately first. In ChatGPT Plugins, press the plus button, choose "Add custom MCP server", configure auth and select "Create as a plugin" (connect and test). A tunnel is fine for local testing, but it does not replace the public endpoint you need for submission.
  2. Set annotations honestly. Every tool needs explicit boolean readOnlyHint, destructiveHint and openWorldHint values. A tool that writes logs or triggers anything is not read-only (plugin guidelines).
  3. Build the package. Include the MCP server in the first ZIP, because OpenAI says adding one to an existing skills-only plugin is not currently supported. Remove lifecycle hooks and app references before directory submission.
  4. Upload. In the Platform dashboard, go to Plugins, choose "Upload new or existing plugin", pick your verified identity and upload. Fix validation errors and re-upload.
  5. Connect and scan. Submit the server through "With MCP", serve the domain challenge token, complete auth and wait for the automated tool scan. Resolve every finding.
  6. Fill in review details. Test cases, test account, login steps, video URL and release notes. Save details.
  7. Submit for review and complete the policy attestations. Feedback arrives by email, and progress shows under Review status.
  8. Publish when you are ready. After approval you open the approved version and select "Publish plugin". OpenAI notes plugins appear in the directory only after approval and publication.

After that, OpenAI scans your hosted server every day, and eligible tool updates go live once automated checks pass. Metadata, assets or skills changes need a new ZIP and review (submission docs).

On timing, OpenAI says review times vary and asks you not to contact support for expedited review (review requirements). Only one review can be active per plugin, so batch your fixes.

What gets rejected#

OpenAI lists four common rejection reasons (review requirements):

  1. Reviewers cannot connect. Expired credentials, MFA, or a login that only works on your network.
  2. Test cases fail. Outputs that miss the expected result, broken UI states, or padded answers.
  3. Undisclosed user data. Personal data, internal IDs, logs or debug fields your privacy policy does not mention.
  4. Annotations that do not match behaviour.

The plugin guidelines add policy rejections: copycat or misleading designs, implying OpenAI endorsement, unofficial pass-through connectors, plugins that exist mainly to advertise, and trial or demo builds. Plugins must suit users aged 13 to 17, and restricted data such as card numbers, health information and government IDs is off limits.

Our read: before submitting, sign in from a fresh browser on a phone hotspot using only the test account and steps you will hand over.

Money: what you can and cannot sell#

This decides whether the effort pays off. The plugin guidelines say:

  • No digital goods. "Selling digital products or services" is not allowed, including subscriptions, tokens and credits, directly or through freemium upsells.
  • No upsell screens. Users may use features of an existing paid plan, but the plugin must not show plans, start subscriptions or promote upgrades. You may explain plan requirements and link to informational pages, not checkout.
  • No ads. Plugins "must not serve advertisements".
  • Parity. No worse version of a feature than your own service offers, and no ChatGPT-specific surcharges.
  • Physical goods only for commerce. Purchases happen on your own domain. OpenAI's checkout docs call external checkout "recommended" and say "current approval is limited to plugins for physical goods purchases"; the in-ChatGPT payment sheet is in private beta for select marketplaces (OpenAI checkout docs).

So for a SaaS, the user signs in through OAuth and the plugin unlocks what their plan includes, while pricing and billing live on your site. Our guide to monetizing an MCP server covers billing patterns.

Discovery: how people find your listing#

OpenAI says "ChatGPT and Codex decide when to call your tool based on the metadata you provide," and recommends treating metadata "like product copy" (Optimize Metadata). Its concrete advice:

  • Name tools domain-plus-action, such as calendar.create_event.
  • Start descriptions with "Use this when..." and state when not to use the tool.
  • Keep a golden prompt set of direct, indirect and negative prompts, and track precision and recall each time you change metadata.

The guidelines also say plugins with strong utility and high user satisfaction may qualify for "enhanced distribution opportunities", such as directory placement or proactive suggestions. There is no published process for being featured, so plan as if you will not be.

Apps SDK UI: do you need a widget?#

UI is optional. If your tool returns something people need to look at or click (a list of options, a map, a chart), an MCP server can return a UI resource. OpenAI's UI guidelines define inline cards (up to two actions), inline carousels (3 to 8 items, each with an image), fullscreen and picture-in-picture modes, and offer an optional @openai/apps-sdk-ui library with Tailwind foundations and accessible components.

The rules lean minimal: system fonts only, no logo in the response (ChatGPT adds it), no nested scrolling or tabs in cards. Our read: ship text-only tools first, then add one inline card for the result users ask about most.

Is it worth it for an indie developer?#

Our read, not OpenAI's: it depends on what job your product does and how you get paid.

Your situationOur take
SaaS with paid plans and a job people already ask ChatGPT about (data lookup, booking, reports)Worth it. The plugin is a free acquisition channel and plan features unlock after sign-in
E-commerce or physical goodsWorth testing, using external checkout on your domain
Product whose value is credits, tokens or a digital subscription sold inside the pluginNot allowed by the guidelines
Thin wrapper over something ChatGPT already doesLikely rejected: guidelines want functionality built-in capabilities do not provide
Pre-product idea with no server yetToo early. Validate the product first

The cost is mostly time: a server you keep online, OAuth that works for strangers, demo data, a video and the review loop. The upside is a directory listing plus the chance the model calls your tool from an ordinary prompt. The risk is platform dependence: OpenAI renamed the whole surface in July 2026, so keep accounts, email and billing on your own domain.

Build order we would follow: core product and pricing on your own site, then two or three read-only tools, then OAuth so plan features unlock, then private testing with golden prompts, then one write tool, then submission. Add UI last.

Launch checklist#

  • Verified individual or business identity matching your public URLs
  • Production MCP server on public HTTPS, challenge token served
  • Explicit annotations on every tool, checked against real behaviour
  • Privacy policy that discloses every personal field your tools return
  • Website, support and terms pages live (no placeholders)
  • Five positive and three negative test cases, each run with the test account
  • MFA-free test account with sample data, tested from outside your network
  • Video walkthrough of the test cases
  • Names and descriptions within the character limits, plus up to three default prompts
  • Countries chosen
  • No plan, upgrade or checkout screens inside the plugin

How to promote your listing#

Approval is not distribution. Treat the listing as one more launch:

  • Link it from your product. Add a "Use in ChatGPT" link to your pricing page, docs and onboarding emails. Listings live under chatgpt.com/plugins.
  • Show the prompt. A short clip of a real prompt and result beats a feature list. Reuse your review video.
  • Announce it where users are. Changelog, newsletter, communities. See building distribution for a bootstrapped SaaS for the long game.
  • Relaunch it as news. Pair it with our guide to launching a bootstrapped app.
  • Watch the metadata. OpenAI suggests reviewing tool-call analytics weekly; more wrong-tool calls means your descriptions have drifted.

Frequently asked questions#

Are ChatGPT apps now called plugins?#

Yes. OpenAI's ChatGPT release notes for July 9, 2026 say it replaced the App Directory with the Plugin Directory, and OpenAI's developer docs now describe submissions as plugins. Apps remain the integrations that connect ChatGPT or Codex to external data and actions, and existing app connections were not affected.

Does it cost anything to publish a plugin in ChatGPT?#

OpenAI's submission and review docs do not list a submission fee. Your real costs are hosting a public HTTPS MCP server, keeping a test account and demo data live, and the time spent on test cases, a video and review rounds.

How long does ChatGPT plugin review take?#

OpenAI does not publish a timeline. Its review page says review times vary and asks developers not to contact support to request expedited review. After publication, tool changes on your MCP server go through automated checks rather than a full manual review.

Can I charge users inside a ChatGPT plugin?#

Not for digital goods. OpenAI's plugin guidelines say selling digital products or services, including subscriptions, tokens and credits, is not allowed, and plugins must not show plans or promote upgrades. Users can use features of a paid plan they already have, and physical goods can be sold through external checkout on your own domain.

Do I need to build a custom UI for my ChatGPT plugin?#

No. OpenAI describes UI as optional: an MCP server can return a UI resource when visual interaction helps. If you add one, OpenAI's UI guidelines cover inline cards, carousels, fullscreen and picture-in-picture, and offer an optional @openai/apps-sdk-ui component library.

Launch it on ZeroRaised too#

A ChatGPT listing is one channel. If your product is built without institutional VC, submit it to ZeroRaised for free and get it in front of makers and early adopters. For more distribution guides like this one, join the ZeroRaised newsletter.

Sources#

Frequently asked questions

Are ChatGPT apps now called plugins?

Yes. OpenAI's ChatGPT release notes for July 9, 2026 say it replaced the App Directory with the Plugin Directory, and OpenAI's developer docs now describe submissions as plugins. Apps remain the integrations that connect ChatGPT or Codex to external data and actions, and existing app connections were not affected.

Does it cost anything to publish a plugin in ChatGPT?

OpenAI's submission and review docs do not list a submission fee. Your real costs are hosting a public HTTPS MCP server, keeping a test account and demo data live, and the time spent on test cases, a video and review rounds.

How long does ChatGPT plugin review take?

OpenAI does not publish a timeline. Its review page says review times vary and asks developers not to contact support to request expedited review. After publication, tool changes on your MCP server go through automated checks rather than a full manual review.

Can I charge users inside a ChatGPT plugin?

Not for digital goods. OpenAI's plugin guidelines say selling digital products or services, including subscriptions, tokens and credits, is not allowed, and plugins must not show plans or promote upgrades. Users can use features of a paid plan they already have, and physical goods can be sold through external checkout on your own domain.

Do I need to build a custom UI for my ChatGPT plugin?

No. OpenAI describes UI as optional: an MCP server can return a UI resource when visual interaction helps. If you add one, OpenAI's UI guidelines cover inline cards, carousels, fullscreen and picture-in-picture, and offer an optional @openai/apps-sdk-ui component library.