A URL for everything Codex makes
Where humans and Codex
work on prototypes together.
Codex Sites creates and hosts work inside ChatGPT. display.dev gives Codex output a lifecycle your company controls – its own URL, your Google or Microsoft sign-in, inline comments and versions – and any agent can continue it through the CLI, MCP or the API.
The demo shows an agent publishing a doc to display.dev – from a chat or a terminal – then the team opening its URL, commenting, the agent publishing v2 at the same URL, and the doc being shared with someone outside the company.
Cursor, Codex, Claude Code – any agent that writes a file. Switch agents anytime – your URLs, versions and comments stay put.
Where Codex output goes when it leaves ChatGPT
When a Site is created in ChatGPT, read by people who are already in your ChatGPT workspace, and refined in that same conversation, Codex Sites is the right place for it. The rest of what Codex writes lands on disk: a codex exec run in CI, an analysis report, a scraper dashboard rebuilt every morning, a prototype an engineer generated for a PM who has no ChatGPT seat. That output needs a URL your company owns and an agent that can update it next quarter, even if that agent isn't Codex.
display.dev is one command or one tool call, and everything after publishing – access, versions, comments, source export – is operable from the CLI, MCP or the API.
- ✗ScreenshotLoses every filter, hover and chart interaction in the run.
- ✗Slack uploadArrives as a file to download, not a page to open.
- ✗GitHub PagesNeeds a git push and excludes everyone without a GitHub account.
- ✗VercelNeeds a git project and a deploy pipeline, and SSO is $320/month.
Three ways to publish from Codex
Set it up in Codex once
Install the plugin and Codex gets the publishing skill and the MCP connection together:
codex plugin marketplace add display-dev/skill
codex plugin add display-dev@display-devOr configure the MCP server on its own in ~/.codex/config.toml:
[mcp_servers.display]
url = "https://api.display.dev/v1/mcp"
bearer_token_env_var = "DISPLAYDEV_API_KEY"Start a new task afterwards so Codex loads the tools.
Who can open it
A public URL when the output isn't sensitive. Nothing to sign in to.
Named email addresses only. Useful for a client or a contractor you don't want to hand company sign-in to.
Anyone signing in with a verified company domain gets in – Google Workspace, Microsoft Entra ID, or a one-time password by email. Viewers are unlimited and free, and none of them need a ChatGPT account.
You change the level any time. Move a report from company-gated to public and back. The URL stays the same.
What Codex generates – and what display.dev publishes
- HTML analysis reports
- Share the numbers with stakeholders without standing up a BI tool.
- Interactive visualizations
- D3, Chart.js or Plotly output from a data run, rendered as the page Codex built.
- Web tool prototypes
- An internal tool the Codex agent scaffolded, opened by the people it was built for.
- Scraper dashboards
- Competitive monitoring and market data, refreshed at the same URL each run.
- Multi-file static apps
- Publish the whole output directory; index.html serves at the root and relative assets resolve.
Ways to get Codex output in front of your team
| Option | Non-engineer viewers | Company auth | Publish from CLI, MCP or API | Inline comments |
|---|---|---|---|---|
| Codex Sites | Public link, or a ChatGPT seat | ChatGPT workspace identity | Not documented | ❌ |
| Screenshot | ✅ (degraded) | – | – | ❌ |
| GitHub Pages | ❌ | ❌ / $2,100/mo | ✅ | ❌ |
| Vercel + SSO | ❌ | ✅ | ✅ | ❌ |
| display.dev | ✅ | ✅ | ✅ | ✅ (read via MCP) |
For Codex as an agent
When Codex runs autonomously it can publish its own output through display.dev's MCP tool: it invokes publish with the HTML and a name, gets back a gated URL, and includes that URL in its final response or posts it to Slack.
The next revision doesn't have to come from Codex. Comments land on the artifact, any agent with the MCP tools reads them, fetches the current version, republishes at the same URL and resolves the thread.
Pricing
Try it. No credit card.
- Included: 10 gated artifacts
- Included: Unlimited public artifacts*
- Included: 50MB storage
- Not included: Version history
- Not included: Google + Microsoft SSO
- Not included: Audit logs
display.dev branded
Individuals. Unlimited gated sharing.
- Included: Unlimited gated artifacts
- Included: Unlimited public artifacts
- Included: 1GB storage
- Included: 10 versions
- Not included: Google + Microsoft SSO
- Not included: Audit logs
For teams that need company auth.
- Included: Unlimited gated artifacts
- Included: Unlimited public artifacts
- Included: 25GB storage
- Included: 50 versions
- Included: Google + Microsoft SSO
- Included: 90 days audit logs
For compliance-driven organizations.
From €499/mo
- Included: Unlimited gated artifacts
- Included: Unlimited public artifacts
- Included: Custom storage
- Included: Unlimited versions
- Included: Google + Microsoft SSO
- Included: 365 days audit logs
Features
Viewers click a link and sign in with their Google or Microsoft account, or a one-time password. No app to install. No account to create. No IT ticket.
Inline comments on every artifact. Your agent reads them via MCP, fetches the current version, republishes with short_id and base_version, and resolves the thread. The artifact stays the current version at the same URL, not a one-shot screenshot.
dsp publish ./file.html from your terminal, or one sentence in Codex. No git repo, no deploy pipeline, no project to configure.
Every artifact gets a URL that keeps working. Share in Slack, link in Notion, paste in email. It still works six months later.
No per-seat pricing at any tier. Share with your PM, exec, legal team, or designer for the same flat price.
Cursor, Codex, and Claude Code all work, plus any agent that creates HTML or Markdown output.
What teams say
We use it to share and collaborate on markdown and HTML artifacts, and it's helped us work together more seamlessly in this weird new agentic coding era. Our whole 7-person team uses it.
Try it free
- Publish a Codex artifact in under a minute, no card
- Keep the URL when you upgrade
- Unlimited viewers on every plan
Common questions.
Isn't this what Codex Sites does?
Codex Sites creates and hosts work inside ChatGPT, and for work that starts and stays there it's a good answer. display.dev is the publishing layer for everything else: output from the Codex CLI, a CI job, Claude Code, Cursor or a local model, published to one URL with one access policy. OpenAI documents Sites creation and management in ChatGPT on the web and desktop, not as a CLI, API or MCP surface other agents can drive.
Does this work with the Codex CLI and the Codex API?
Yes. display.dev's CLI publishes any HTML file on disk – it doesn't care which tool generated it. For programmatic publishing from the Codex API, use display.dev's REST API or MCP tool.
Can Codex publish its own output automatically?
Yes. Install the display.dev plugin or configure the MCP server in ~/.codex/config.toml. The agent invokes the publish tool and receives a URL to include in its response or post elsewhere. No manual step required.
Do viewers need an OpenAI account?
No. Viewers authenticate with their company Google or Microsoft email, or a one-time password. No ChatGPT seat and no OpenAI workspace membership.
Can a different agent update something Codex published?
Yes. Versions, comments, source export and access changes are the same tools for every agent. Codex publishes v1, Claude Code reads the comments and publishes v2, and the URL never changes.
What if the Codex output is a multi-file directory?
Run dsp publish ./output/ to publish the entire directory. display.dev serves index.html at the root and resolves all relative asset references.
Publish your first artifact in 15 seconds.
Free tier. No credit card. One-time password auth on free, Google + Microsoft SSO on Pro (€49/month flat).

