Deploy guide · Reviewed by the White Ghost team, September 2026

How to deploy an app built with Codex

Codex writes normal code, so it can live anywhere. ChatGPT Sites will host it publicly, but creation requires a paid plan, the app lives with OpenAI, and access gating beyond public-or-workspace is limited. If you want the app in your own repository, on a permanent URL, with access rules you choose, deploy it with White Ghost: one CLI that Codex can drive for you.

What you need before you start

  • The folder Codex has been working in, with the app running locally (the localhost link).
  • A GitHub account. The code is stored in your own account and you can download it as a zip whenever you want.
  • A Node or Python app. A plain HTML file is not an app by itself; Codex can wrap it into one in a few minutes.
  • A White Ghost account. The Free plan is enough for a first app: 3 apps awake, one builder, no card needed.
  • Codex CLI (or the Codex extension) open in that folder. It does the technical part; you approve.

Tell Codex to do it

Paste this into Codex, in the folder of your app:

Install the ghosty CLI (npm install -g ghosty-cli), sign in with ghosty login, then run ghosty init in this folder to create the app and its repository. Push the code and run ghosty deploy until the app is live. Use --json output and tell me the final URL.

It will ask you to approve the sign-in once (a link opens in your browser) and to confirm the answers of the short interview. Everything else it does alone. The steps below are what it is doing, with how to check each one.

From Codex output to live URL, in five steps

  1. Install the CLI once (or let your assistant do it). npm install -g ghosty-cli. Every command supports --json and ends with a parseable ready line, so Codex CLI and other agents can drive the whole flow. How to check: ghosty --version prints a version number.
  2. Sign in. ghosty login. No passwords: magic link, Google, GitHub, or passkey. How to check: The command ends with a ready line and your email; the console at console.whiteghost.ai shows you signed in.
  3. Scaffold the app. ghosty init asks a few questions and creates a normal repository in your own GitHub account. Bring the code Codex wrote, or keep building inside the scaffold. How to check: The app appears in the console dashboard, and the repository appears in your GitHub account.
  4. Build with your assistant. ghosty dev runs the app locally. Each app ships starter instructions that teach Codex, Claude Code, and other assistants its conventions. How to check: The localhost link opens the app with your latest changes.
  5. Ship. git push triggers the build and rollout; real builds of a full app have taken 53 seconds and 1 minute 27 seconds. Run ghosty deploy to watch until the new version is live on its own URL, with access controls built in. How to check: The Deploys tab shows the build as successful, and the app URL opens from your phone with Wi-Fi off.

Shortcut: paste this into your assistant and let it do everything above.
Install the ghosty CLI, initialize this project with ghosty init, and ship it. Use --json output.

Or start from the console and send the work to Codex

The bridge runs in both directions. The Overview of every app has an "Open in Codex" button (and one for Claude Code), plus "Copy the instructions": a ready-made prompt that carries the app URL and the repository URL, so the assistant picks the work up with full context. You do not have to explain the project to it.

What you get after shipping

Deploying is not the end of the flow. Each app comes with a deploy history (every build keeps its commit, timing, and log, with a Redeploy button), a live log feed, analytics with requests and errors per day over 7 or 30 day windows, and a live preview URL for every open pull request, updated on each push. Secrets are applied without a redeploy, scheduled jobs can call your endpoints on a timer, and a custom domain comes with SSL issued and renewed automatically. If a deploy breaks, ghosty rollback or the Redeploy button takes you back.

Where can a Codex app live? The honest map

OptionBest forThe trade-off
ChatGPT Sites (Codex)Paid ChatGPT subscribers publishing a site fast on OpenAI hostingThe app lives with OpenAI, creation needs a paid plan, and access gating beyond public-or-workspace is limited
Vercel / Netlify / CloudflareEngineers shipping public production softwareYou assemble hosting, database, auth, and permissions yourself
Railway / Render / Fly.ioApps needing persistent servers and workersSame assembly, plus infrastructure to operate
White GhostApps anyone you choose can open, no AI account required, in a repo you ownManaged platform: less infrastructure control than assembling your own stack

Limits and cost

  • Free plan: 3 apps awake and one builder; Solo ($19 a month) raises that to 10 apps awake, custom domains and 10 GB of file storage. Team plans add unlimited seats.
  • The app scales to zero when idle, so the first visit after a quiet period takes a moment to wake up.
  • You need a GitHub account: that is where the code lives, and you can leave with it whenever you want.
  • The access mode (public, shared invite code, or your own sign-in) is part of the app code: changing it later means editing and redeploying.
  • Preview links for pull requests are public URLs; do not put production data behind a preview.
  • No background workers or WebSockets yet: long jobs run as scheduled HTTP calls, not as always-on processes.

Full plan details on the pricing page.

Questions people actually ask

Can a Codex site be shared publicly?

Yes, since ChatGPT Sites went GA in July 2026: paid subscribers can publish publicly viewable sites. The remaining difference is control: with White Ghost the app lives in your own GitHub organization and you choose between public, a shared invite code, workspace members, or the app’s own sign-in, without the app depending on a ChatGPT plan.

Does White Ghost work with Codex, or only with Claude?

It is assistant-agnostic. The apps are normal repositories and the ghosty CLI is plain command-line tooling with --json output, so Codex CLI, Claude Code, Cursor, OpenCode, and other assistants can all drive it.

Can I move an app out of ChatGPT Sites?

The code Codex wrote is yours; recreate it as a repository, run ghosty init in that folder, and ship. From then on the app lives in your own GitHub organization with a database, file storage, and access rules you control.

What does a company get beyond hosting?

An isolated environment per company (its own database, domains, and build pipeline) plus team management: who can build, who can view, and every app in one place.

Related

Ship it where everyone can actually open it.

Start on the free plan: 3 apps awake, one builder, no card needed.

Start free