How to deploy a Claude Code app to a live URL
I keep hitting the same wall with Claude Code.
It isn't a chat that hands you snippets. It works inside your actual project — edits files across the repo, runs commands, and leaves you with a real, multi-file codebase sitting on your disk. Which makes the final step feel oddly heavy: the thing is done, and you still have nothing you can send to anyone. Going from "works in my terminal" to "live URL" is its own task, and nothing in the chat log tells you how.
So here's how I actually do it, and what tends to break.
Three ways to get it online
There's no single right answer — it depends on how much you want to touch infrastructure.
Push to Git and connect a host. If your project is already a repo, push it and point a platform at it — Vercel, Netlify, Render, Railway, Fly.io, whatever you prefer. Every push redeploys. This is the default if you already think in Git.
Upload the folder directly. No repo yet? Several platforms will take the project folder, detect the stack (Node, Python, static), build it, and serve it. Less control, less ceremony.
Let the agent deploy it. A few hosts now expose an MCP server, so Claude Code can deploy, read logs, and roll back from the same terminal session where you wrote the code — no tab switch. (Disclosure: this last path is what I've been building, at livemy.app, so weigh it accordingly — the first two routes work anywhere.)
All three end the same way: a live URL with HTTPS.
The 5 things that actually break in production
Claude Code writes solid code, but it builds against your machine. These are the gaps that surface the moment it runs on a server instead:
Missing environment variables. Keys and config that live in your shell don't travel with the code. Set them on the host.
A database or backend that only exists locally. If the app has a server and a DB, both need to exist in prod — provision the database and set its connection string.
Hardcoded
localhost. References to localhost or a local port point back at your laptop. Use relative paths or the production URL.No build or dependency manifest. A missing
package.json,requirements.txt, or start command means the host can't reproduce your build. Make sure they're committed.Secrets in the repo. Claude Code may have written a key into a file while iterating. Move every secret into an environment variable before the repo goes public.
The shortcut that saves me every time: ask Claude Code to "list every environment variable, external service, and build step this project needs to run in production." It wrote the thing — it knows — and you get a deploy checklist in seconds.
So which path?
If you live in the terminal, the agent/MCP route removes the one context switch that breaks flow. If you inherited a Claude Code project and just need it online, Git or a direct upload gets you there without learning a new dashboard. Either way the goal is the same: a real URL, with SSL, that keeps working after you close the laptop.
What's tripped you up deploying AI-built projects? I collect these failure modes — drop yours in the comments.
