Guide
How to host an app built with Claude Code
Hosting an app built with Claude Code starts with the app’s runtime, data and users. Identify those requirements, choose who will operate the production services, then test a deployment before sharing it with your team.
Short answer
Inspect the build command, server process, database and required secrets before choosing a host. Deploy a test environment, verify that records survive an update, and check access. Claude can help prepare and diagnose the deployment; a person should review what reaches production.
Choose the host before asking Claude to configure it
A frontend-centric app may fit Vercel’s Next.js workflow. Render provides managed service types, while Railway gives you more service composition and database responsibility. The coding tool does not determine the right host.
AppHaven fits AI-built business applications when you want the production infrastructure managed around the code. The rest of this guide uses an invoice tracker on AppHaven, with private team access and a managed database. Give Claude the platform integration once you have chosen that model.
Give Claude a specific deployment task
Suppose your app tracks invoices. “Deploy this” leaves decisions about access, storage and live payment credentials implicit. Start with a request that names the outcome and the checks you expect.
Ask for a reviewable setup
Prompt for Claude Code
Prepare this repository for AppHaven on a new branch.
Read https://docs.apphaven.eu/ before choosing manifest fields.
The app is an invoice tracker for our team. Keep it private.
Inspect the current runtime, database and migration commands first.
Add a Dockerfile, .dockerignore and apphaven.yaml as needed.
Use the managed database if the app is compatible with PostgreSQL.
Keep secrets and database exports out of the image and repository.
Tell me which runtime settings I must supply and how migrations run.
Build the image and validate the manifest if the tools are available.
Report anything you could not verify. Do not push to the production
branch, change access settings, or use live payment/email credentials. Install the AppHaven integration
Run these commands inside Claude Code. The plugin gives it the platform instructions and the route to setting up CLI access.
Claude Code commands
/plugin marketplace add apphaven-eu/claude-plugins
/plugin install apphaven Then ask Claude to set up AppHaven access and approve the login request in your browser. See the linked agent integration instructions for the manual installation path.
Check what Claude changed
Read the setup summary alongside the diff. The server should bind to the port in the manifest, database settings should come from the environment, and schema changes should use your project’s migration tool. If the app needs a build step, it must happen in the image build rather than depend on files left on your laptop.
Ask Claude to explain every new service. An invoice tracker that needs one web process and one database should not acquire a queue, cache and storage service simply because a template included them. Use the deployment walkthrough for a Dockerfile, manifest and first-release checks.
Try the app on a private preview
Connect the repository
Create the app in AppHaven, select its region, and connect Git. Choose your production branch explicitly; deploy Claude’s working branch as the preview.
Use test records and sandbox services
Create a sample invoice, edit it, and reopen it after a redeploy. Check a second user’s access. Keep live customer records and production API credentials out of the experiment.
Ask Claude to investigate failures
Give it the app name and describe what you observed. It can inspect deployment status, the build log and runtime output through the read-only CLI. Ask for a proposed fix on the same working branch.
Review and release
Review the fix and repeat the failed check. Merge only once the preview works. Deploy the production branch yourself, or use auto-deploy with protected branches and required reviews.
Let Claude see the failure
A useful debugging request
The invoice-tracker preview fails when I save an invoice.
Inspect its status and relevant build, crash and application logs.
Do not print secrets or customer records in your response.
Explain the likely cause, propose a fix on this branch, and add a
check that reproduces the failure. Do not push to main. Keep the release decision in Git
The AppHaven CLI cannot mutate production. That limits what a diagnostic session can do through AppHaven, but Claude may separately have Git credentials. If it can push to an auto-deployed production branch, it can still release code.
Use your Git host’s branch protection to require review and prevent direct pushes by the credentials available to the agent. An instruction saying “do not deploy” is useful context; repository permissions are what enforce the rule.
Keep these references with the repository
AppHaven agent integration covers installation and login. Getting started explains the console setup. Link to those references in your project instructions so Claude can check details when the platform changes.
Common questions
Does Claude need my database password?
No. The manifest can reference the managed database connection supplied to the app at runtime. Do not paste production credentials into a conversation to debug a failed connection.
What if I do not have an AppHaven account yet?
You can prepare and build the repository locally first. Creating an account takes a minute and is needed to deploy and verify the preview.
Give your Claude Code app a home
If this hosting model fits your app, sign up and try the walkthrough with a preview deployment.