Can a Codex Site have a custom domain? Not under the documented model.
Status as of 11 September 2026: yes. Custom domains arrived with the July 2026 GA as ChatGPT Sites and were re-announced on 11 September. This post keeps the June 2026 beta-era answer as a record; the current how-to, plan caveats and DNS reality are at /chatgpt-sites-custom-domain. What has not changed is the pattern for a page that should open on your domain with no ChatGPT account at all.
No card · 3 pages free · about a minute
Can a Codex Site have a custom domain?
Yes, since July 2026. ChatGPT Sites, the GA of Codex Sites, lets the Site owner connect an apex domain or subdomain they already own by adding the DNS records Sites provides at their domain provider, where the feature is available and not in Enterprise workspaces at launch. The June 2026 beta had no domain layer at all, which is the state the rest of this post records. For the current walkthrough see ChatGPT Sites custom domains, explained.
The short answer
Superseded. The section below is the beta-era record from June 24, 2026. Since the July 2026 GA as ChatGPT Sites, custom domains are documented (owner-only, DNS records at your provider, not in Enterprise workspaces at launch), and OpenAI re-announced them on 11 September 2026. Current guidance: ChatGPT Sites custom domains, explained.
As of June 24, 2026, a Codex Site could not have a custom domain under the documented model. OpenAI documents deploying and hosting a Site at its own URL, and controlling who in your workspace can view it through three access modes. There is no documented way to attach a domain you own, change the hostname, or add a DNS or CNAME record. The OpenAI-managed URL is the address.
That is consistent with what Sites is for. The feature is positioned around internal tools, dashboards, and shared workspaces, and an internal tool does not usually need a vanity domain. The gap only bites when the thing you built is meant to leave the company: a client-facing page, a public microsite, a deliverable that should sit at your-company.com. That is a different job, and it is the job a custom domain exists for.
Why the address is OpenAI’s, not yours
Codex Sites hosts your deployment and scopes access at the workspace level. The three documented access modes (admins_only, workspace_all, and custom) all decide which members of your OpenAI workspace can open the Site; none of them touch where the Site lives or what it is called. There is no domain layer in the documented model at all, so there is nothing to point a custom domain at.
This is coherent for an internal tool. If a Site is only ever opened by people inside your workspace, the URL is plumbing, not branding, and an OpenAI-managed address is fine. The design optimizes for "deploy fast, share with the team," not for "publish under our brand." Neither is wrong; they answer different questions, and custom domains belong to the second one.
When you actually need a custom domain
A custom domain matters the moment the audience is external. A few cases where the OpenAI URL stops being enough:
- Client deliverables. A report, proposal, or dashboard you hand to a customer reads very differently at your-firm.com than at a vendor URL.
- Public microsites. A landing page, a launch page, or a one-pager that anyone should be able to open, indexed and shareable, lives on a domain you control.
- Permanence and portability. A domain you own is an address you keep. If the underlying host changes, the URL you have shared does not have to.
If your output never leaves the workspace, none of this applies and Sites is a fine home for it. If it does, you need a published page on a domain you control, which is a publish step Sites does not document.
How to put agent output on your own domain today
Full disclosure: this section describes Stacktree, which is our product, so read it as us explaining where we fit rather than as neutral advice. If what you need is agent output living on your own domain, with no ChatGPT account required to view it, the pattern today is different from deploying a Codex Site, and it is worth being honest about both what it does and what it gives up.
The pattern is not to export or move a Codex Site. There is no documented way to do that, and Stacktree does not do it. Instead, you have the agent render a static HTML view of what you want to show and publish that HTML to an open host. Codex can do this directly: it generates the HTML and calls a publish tool over MCP, without leaving the session.
Stacktree is the open host in that pattern, and it supports custom domains. A published site is private by default, with the unguessable URL as the credential, so a viewer needs no ChatGPT account, or any account, to open it. From the Solo plan up you attach your own domain through Cloudflare for SaaS: add a CNAME, verify it, and the page serves from your-company.com instead of a vendor URL. update_site replaces the content in place at that stable address, so the link you shared keeps working as the page changes. It is MCP-native, so it works from Codex, Claude Code, Cursor, and Claude.ai rather than inside one agent, and it is source-available and self-hostable on your own Cloudflare account.
The trade is real and you should weigh it. Stacktree hosts static HTML only: no server logic, no application database, no in-browser editor. If you need a full internal app with persistence behind it, the kind of thing Sites in Codex is built to deploy, Stacktree is not that, and Sites is the right tool. Stacktree fits the narrower case: a page anyone can open by link, on your own domain, that you can take with you. The two are not substitutes; they answer different questions.
What would change this answer
This is a living status post, refreshed when OpenAI ships a change. The first item fired in July 2026, and the second in two steps (public publishing in July, named external viewers in September). Here is the original watch-list with its status:
- Documented custom-domain mapping. Resolved, July 2026. OpenAI documents attaching a domain you own via DNS records; the headline answer flipped and this post now says so at the top.
- A public or external-viewer mode. Resolved in two steps. Public publishing arrived with the July GA; named external viewers, who must sign in with a ChatGPT account, arrived in September 2026. A link-only private mode is still absent. See our note on whether you can make a Codex Site public.
- Export or self-hosting. Not documented today. A path to download the code or move a deployment would let you take it to any host and put it on your own domain.
Export and self-hosting remain undocumented as of 11 September 2026. The rest of this post is kept as a dated record of the beta.
See it in one call, no account
curl -X POST https://api.stacktr.ee/sites -F file=@index.html
# → a private URL, live for 24h. Claim it free to keep it.
If your agents emit HTML, they need a durable publish target: publish once, then
update_site
on every revision keeps the same URL forever. MCP, REST, and skills all speak it:
the map is at agent.txt.
Frequent questions
Can a Codex Site have a custom domain? +
Can I use my own domain with Codex Sites? +
Does Codex Sites support a CNAME or DNS setup for a custom domain? +
Why would I want a custom domain for a Codex Site? +
How do I put agent-built output on my own domain today? +
Can I move a Codex Site to my own domain? +
Related guides
- Can you make a Codex Site public? The sister question: why every private mode still needs a signed-in ChatGPT account, and how to get a public link.
- OpenAI Codex Sites alternative For agent output that needs a public link, on your own domain, anyone can open.
- What is Sites in Codex? A plain reading of the docs: how Sites works, who can view, and what it costs.
- Publishing from Codex Using Codex with an MCP-native, cross-agent publish primitive.
Sources and further reading
- OpenAI, Sites in Codex docs ↗ The primary source for hosting on an OpenAI URL, the three workspace access modes, and the absence of any documented custom-domain or DNS step.
- OpenAI, Codex changelog ↗ Where Codex feature releases, including the June 2026 Sites launch, are recorded. Useful for checking whether custom-domain support has shipped since.
- ChatGPT Sites update: 5M sites, private sharing, custom domains (@ChatGPT) ↗ The 11 September 2026 announcement: invite teammates to edit, invite specific people to a private Site, database inspection, custom domains.
- Cloudflare for SaaS (custom hostnames) ↗ The mechanism Stacktree uses to serve a published site from a customer-owned domain via a verified CNAME.
Want agent output on your own domain?
Stacktree publishes agent-made HTML to a link anyone can open, no ChatGPT account. Custom domains are on Solo, $19 a month.
Sign up free →