Deploy guide

How to deploy an app built with Claude Code

Claude Code writes normal web applications, so you have real options: a developer platform you assemble yourself, a temporary artifact link, or a managed platform. With White Ghost the whole flow is one CLI that Claude Code can drive for you, and the app goes live with access controls built in.

From local folder to live URL, in five steps

  1. Install the CLI once. npm install -g ghosty-cli. Every command supports --json and ends with a parseable ready line, so Claude Code can drive the whole flow for you.
  2. Sign in. ghosty login. No passwords: magic link, Google, GitHub, or passkey.
  3. Scaffold the app. ghosty init asks a few questions (name, what it does, backend language, whether it needs a database) and creates a normal repository in your own GitHub organization.
  4. Build with Claude Code. ghosty dev runs the app locally while you keep shaping it with your assistant. Each app ships starter instructions that teach the assistant its conventions.
  5. Ship. git push triggers the build and rollout; real builds of a full app measure around a minute. Run ghosty deploy to watch until the new version is live on its own URL, with access controls built in.

Shortcut: paste this into Claude Code 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 Claude Code

The bridge runs in both directions. The Overview of every app has an "Open in Claude Code" button, 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.

Where can a Claude Code app live? The honest map

OptionBest forThe trade-off
Claude artifactsShowing a prototype right nowA capture of work, not an application: single page, no backend or database, and retention policies or sharing toggles can kill the link
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 GhostBuilders and teams shipping real apps with the AI assistant they already haveManaged platform: less infrastructure control than assembling your own stack

Questions people actually ask

Can Claude Code deploy the app by itself?

Yes. The ghosty CLI is designed to be driven by an agent: it signs in with a device flow you approve once, every command supports --json, and long-running commands end with a parseable ready line. You can ask Claude Code to install, initialize, and ship without leaving the conversation.

Do viewers need a Claude account to open my app?

No. Apps deployed with White Ghost live on a normal URL with access rules you choose: public, a shared invite code, workspace members, or the app’s own sign-in. Viewers never need an account on any AI platform.

What if a deploy breaks something?

Run ghosty rollback, or open the Deploys tab and press Redeploy on any previous build. Every build in the history keeps its commit, timing, and log.

Is an app made with Claude Code a special kind of app?

No. Claude Code writes standard web applications. That is why any hosting works in principle; the real question is how much infrastructure (database, access control, updates) you want to assemble yourself.

What happens to the database and files?

Every app gets a managed PostgreSQL database, and file storage you can enable per app, with signed download links that expire. Integration credentials are injected securely by the platform, so provider keys never live in the repo.

Can I leave later?

Yes. The code lives in your own GitHub organization from day one: you can leave whenever you like and take the code, the data, and the history with you.

Your app deserves more than a temporary link.

Individual builders can start right away. Beta access is free.

Join the beta