Homespun

How to deploy an app built with Claude Code

Claude Code cannot deploy on its own, and there is no hidden command that changes that. It writes and runs code where you are sitting. Getting the result online is a separate decision with three real answers: push it to a platform like Vercel or Railway yourself, run your own server, or connect a hosting MCP server so the agent deploys it for you. Which one is right depends almost entirely on whether the app needs to know who is using it, because that single requirement is what turns a ten minute deploy into a weekend.

Last checked against Anthropic's documentation on . Claude changes often. If something here no longer matches the help centre, the help centre is right.

Getting a Claude Code app online

  1. Answer the accounts question first

    Does the app need to know who each person is? If no, any static or serverless host will do and this is a short job. If yes, you need sign-in, sessions and a database with per-user rows, and that is the whole cost of the exercise.

  2. Check what it needs to keep

    Data in a local file or an in-memory store will not survive deployment. Ask the agent what the app persists and where. This is the single most common thing that works locally and is empty in production.

  3. Pick the route from those two answers

    No accounts and no data: a static or serverless host, free tier, done today. Accounts and data: either build the auth and database yourself, or use a platform that already has them.

  4. Deploy the smallest working version

    Deploy before adding features, not after. The first deploy always surfaces environment differences, and finding them in a small app is much cheaper than in a finished one.

  5. Open it as somebody else

    A private window, or a different device, signed in as nobody. Almost every deployment bug in an app like this is invisible to the author because the author is already authenticated.

Why there is no deploy command

Not an oversight, and worth understanding rather than working around. Anthropic's description of the product:

Claude Code is an agentic coding tool that reads your codebase, edits files, runs commands, and integrates with your development tools.

Claude Code overview, Claude Code documentation

Available in your terminal, IDE, desktop app, and browser.

Claude Code overview, Claude Code documentation

Reading, editing, running and integrating are all things done to a codebase. A terminal, an IDE, a desktop app and a browser are all places a person works. Nothing in the product's scope is a place an app lives, so there is no deploy target for a deploy command to point at.

Claude Code will happily run your deploy script, push a branch, or call a platform CLI, because those are commands. What it cannot do is be the destination.

The three routes, and what each really costs

Costs below are setup effort and ongoing money, not code quality. All three produce a working app.

Push to a platformYour own serverHosting over MCP
Who does the workYou, once per projectYou, foreverThe agent
Time to first URLMinutes to hoursHours to daysAbout a minute
Sign-inYou add an auth providerYou build itAlready there
DatabaseYou add a managed oneYou run oneAlready there, with permissions
Custom domainYesYesA subdomain, not your own domain
Any language or frameworkMostlyYesNo. It is a web app on our runtime
Monthly costFree tier, then real moneyA server bill from day oneFree today, no paid plan to buy
You own the stackPartlyEntirelyNo

Read the last three rows before the first three. If you need your own domain, an unusual runtime, or ownership of the stack, the MCP column is not for you and no amount of convenience in the top rows should change that.

The accounts question, which decides everything else

A deploy is easy right up until the app has to tell two people apart. Then it needs, at minimum: somewhere to store users, a way to prove who is signing in, sessions that survive a refresh, and a data model where every row knows who owns it. That is not one afternoon, and it is not something a deploy step gives you.

The reliable test is a single question: would two different people opening this app see different things?

Choosing the first answer when the truth is the second is the usual cause of a rewrite, because the app grows around the assumption that everyone is the same person, and unpicking that later touches every query.

Letting the agent deploy it

MCP is the documented mechanism for extending Claude Code past what it does natively:

Claude Code can connect to hundreds of external tools and data sources through the Model Context Protocol (MCP), an open source standard for AI-tool integrations.

Connect Claude Code to tools via MCP, Claude Code documentation

and the reason it matters after launch rather than only during it:

Once connected, Claude can read and act on that system directly instead of working from what you paste.

Connect Claude Code to tools via MCP, Claude Code documentation

Homespun is where the same agent that built the thing can host it. People sign in with their email, so the app can tell who is who and every row remembers who created it; permissions are set per collection, so some people can approve and others can only submit; and the agent keeps read and write access to the collections it is allowed, so it can keep working on the data instead of handing you a page and walking away. It is free today, and there is no paid plan to buy.

Concretely, the deploy stops being a step you perform and becomes a sentence you say, and the agent still has the app and its data in reach afterwards, so the next change is another sentence rather than another deploy.

Five things that work locally and break on deploy

In rough order of how often they catch people out. None of these is specific to Claude Code, but an agent-written app hits them more often because nobody chose the local shortcuts deliberately.

Questions people ask next

Can Claude Code deploy apps?

Not by itself. Anthropic describes Claude Code as a tool that reads your codebase, edits files and runs commands, available in the terminal, IDE, desktop app and browser, and none of those is somewhere an app runs for other people. It can run a deploy script or a platform CLI you already have, and it can deploy through an MCP server that provides hosting, but there is no built-in deploy target.

How do I host a web app built with Claude Code?

Three routes. Push it to a platform such as Vercel, Netlify or Railway and add auth and a database yourself. Run your own server and build everything. Or connect a hosting MCP server so the agent deploys it and supplies sign-in and a database. The choice is decided mostly by whether the app needs to know who each user is.

Is there a free way to deploy a Claude Code app?

Yes. Static and serverless hosts have free tiers that comfortably cover a small app with no accounts. Once you need sign-in and a persistent database the free tiers usually stop being enough, which is the point at which a platform that includes both starts to compare well.

Why does my Claude Code app work locally but not after deploying?

Almost always one of five things: data written to a local file on an ephemeral filesystem, secrets that were only in your directory, hardcoded localhost URLs, state held in memory across a restart that no longer happens, or a sign-in path you never tested because you were already signed in.

Can Claude Code keep working on the app after it is deployed?

Only if it can still reach it. With a hosting MCP server connected, Anthropic's documented behaviour is that Claude can read and act on that system directly instead of working from what you paste, so the agent keeps access to the live app and its data. With a plain platform deploy, the agent sees only the code, not what is running.

Primary sources

Every claim about Claude on this page comes from Anthropic's own documentation, quoted rather than summarised so you can check it yourself.