Move a Bolt.new Project to Claude Code (and Keep It Live)
Move a Bolt.new project to Claude Code: sync it to GitHub or download the ZIP, add a CLAUDE.md, connect VibeDeploy and deploy to your own domain.
Short answer
Get the code out of Bolt first: connect the project to GitHub, or click the project title and choose Export > Download for a ZIP. Open the folder in Claude Code and run /init to write a CLAUDE.md with the stack and build commands. Then connect VibeDeploy once with claude mcp add --transport http --scope user vibedeploy https://, sign in with /mcp, and ask Claude Code to deploy the project to your own domain.
Let Claude Code ship it
Connect VibeDeploy once and Claude Code deploys the project to your own domain. 14 days free, no card.
claude mcp add --transport http --scope user vibedeploy https://mcp.vibedeploy.be/mcpBolt.new is quick at turning a prompt into a working app, and for plenty of projects that is the end of the story. Others grow. You want the code in a folder you control, a real terminal, tests, and an AI that works on the files themselves instead of through a chat box. That is what Claude Code is for: Anthropic describes it as an agentic coding tool that reads your codebase, edits files and runs commands.
There is no import button between Bolt and Claude Code, and you do not need one. What Bolt builds is an ordinary project, in our experience usually Vite, React and Tailwind. This guide moves that project into Claude Code in five steps and keeps it online along the way, so that by the end Claude Code edits the app, builds it and deploys it to your own domain from the terminal.
Why move from Bolt.new to Claude Code
Bolt's strength is speed inside one browser tab. Claude Code's strength is depth inside your own project. Moving makes sense when:
- You want to own the working copy. After the move, the project is a folder or a Git repository on your machine. Any editor opens it, and nothing about it depends on a builder's workspace.
- You want an agent that works on real files. Claude Code edits files in place, runs
npm install, the build and your tests in your terminal, and works with Git directly. Every change is a diff in your own repository. - You want to choose the host. Bolt publishes for free on a
bolt.hostaddress, but its custom domains are only available on paid plans. Once the code is yours, where it runs is your call.
It is not always the right move. If the app leans on Bolt Database, its server functions and Bolt's hosting, and you would rather not run any of that yourself, staying in Bolt and upgrading for your domain is simpler. Moving pays off when you want the code, and the decisions about it, in your own hands.
Step 1: Get the code out of Bolt
Use GitHub if you can: it keeps the history, and it lets Bolt and Claude Code share the project later. The ZIP works too, as a one-off copy.
Recommended: connect the project to GitHub
- Open the project in Bolt and click the GitHub icon in the top-right corner.
- Log in to GitHub, authorize Bolt, and install its GitHub app for the repositories you choose.
- Create a repository from the same GitHub icon.
From then on, Bolt creates a commit every time you make a change that does not break the project. Clone the repository on your machine:
git clone https://github.com/your-name/your-bolt-app.git
cd your-bolt-appTwo limits from Bolt's documentation: only the project owner can connect GitHub, and on a Bolt Teams plan an admin can switch the GitHub integration off for the whole team. If either one blocks you, use the ZIP.
Alternative: download the ZIP
Open the project, click the project title in the top left, then Export > Download, and unzip the file into a new folder. If that menu does not show what you expect, our Bolt export guide has a checklist for the missing Download button. Keep in mind that a ZIP is a snapshot: it has no history, and edits you make in Bolt afterwards never reach it.
Whichever way you took, check that the app runs on your machine before an AI touches it. You need Node.js installed; then run the same two commands Bolt's help center gives:
npm install
npm run devStep 2: Open the folder in Claude Code and add a CLAUDE.md
Start Claude Code inside the project folder:
cd your-bolt-app
claudeEach Claude Code session starts with a fresh context window, so it knows nothing about the decisions you and Bolt made along the way. A CLAUDE.md file in the project root carries that knowledge, because Claude Code reads it at the start of every session. Run / and Claude Code analyzes the project and writes a first version with the build commands and conventions it finds. Then add what it cannot work out on its own: that the app came from Bolt, and which parts still depend on services outside the code.
A good CLAUDE.md for a Bolt project is short. For example:
# Your Bolt app
Built in Bolt.new, continued in Claude Code.
## Stack
- Vite, React, TypeScript, Tailwind
- Supabase for sign-in and data (client in src/lib/supabase.ts)
## Commands
- npm run dev: local preview
- npm run build: production build into dist/
## Rules
- Anything in a VITE_ variable ends up in the browser. Never put a secret there.
- The live app uses the existing Supabase tables: do not rename them.
- Deploy with the vibedeploy MCP server: build first, then publish dist/ to the site your-bolt-app.Anthropic suggests keeping each CLAUDE.md under 200 lines, because longer files use more context and are followed less consistently. If the Bolt project contains an agents.md file (Bolt reads one for agent instructions), there is no need to copy it over by hand: add the line @agents.md to your CLAUDE.md and Claude Code imports the file.
Step 3: Connect VibeDeploy to Claude Code
VibeDeploy runs an MCP server that gives Claude Code deploy, domain and site-management tools, so there is no separate CLI to learn. Register it once, in any terminal:
claude mcp add --transport http --scope user vibedeploy https://mcp.vibedeploy.be/mcpWith --scope user, the server is available in every project on your machine; without it, Claude Code registers it for the current project only. Next, start Claude Code, run /, pick vibedeploy and sign in in the browser window that opens. A new VibeDeploy account starts with a 14-day trial, no card needed. To check the connection, run claude mcp list, which shows a status next to each server, such as connected or needs authentication.
Working in a team? Commit a .mcp.json file to the repository instead. Everyone who opens the project in Claude Code then gets the same server and signs in with their own account:
{
"mcpServers": {
"vibedeploy": {
"type": "http",
"url": "https://mcp.vibedeploy.be/mcp"
}
}
}The VibeDeploy MCP server page has the same setup for Cursor, VS Code, Windsurf and other clients, and how MCP deploys work explains what happens behind the sentence you type.
Let Claude Code ship it
Connect VibeDeploy once and Claude Code deploys the project to your own domain. 14 days free, no card.
claude mcp add --transport http --scope user vibedeploy https://mcp.vibedeploy.be/mcpStep 4: Deploy the project to VibeDeploy
Now ask for it in plain words:
deploy this project to VibeDeploy as your-bolt-appWith the CLAUDE.md rule from step 2, Claude Code runs npm install and npm run build on your machine and then publishes the dist/ folder with the deploy_site tool. A new name creates the site at your-bolt-app.vibedeploy.be, and the tool returns the live URL. Because the build runs on your machine, it reads your local .env file, just like npm run dev does. A build too large for a single call goes through a staged upload instead (begin_deploy, add_files, then commit_deploy).
Redeploying works the same way, with one safeguard: deploying again under the same name replaces every file of the site, so the tool requires an explicit confirmation first. For a small change, Claude Code can update only the files that changed with update_site. Every deploy is kept as a version, with a restore point taken before it, so an earlier version is one click away in the dashboard (the site's History tab) within your plan's restore window.
Would you rather VibeDeploy build it? That helps when you also edit the site from Claude on the web or on your phone, away from your machine. Ask Claude Code to store the source on the site (write_source_files) and to deploy with build_and_deploy: VibeDeploy then runs the build in an isolated build pod, takes a restore point and publishes the output folder. Builds on VibeDeploy only see the stored source, never your local .env file, so a value the build needs has to live in the code, and a secret never belongs there.
Step 5: Put it on your own domain
Tell Claude Code which domain to use, for example add www.example.com to your-bolt-app. The add_custom_domain tool answers with a TXT record that proves you own the domain. Add it at your DNS provider, and point the domain at VibeDeploy: a CNAME to proxy.vibedeploy.be for www or another subdomain, or the A record the dashboard shows for the bare domain. Then ask Claude Code to verify. The verify_custom_domain tool looks up the TXT record, and once it is found the site is served on your domain and HTTPS is issued automatically, usually within about 30 seconds. If the check fails, DNS has usually not caught up yet: wait a few minutes and verify again. The 14-day trial includes one custom domain.
Is the domain connected to Bolt right now? Then switch it last. Deploy to VibeDeploy and add the domain with its TXT record first, and only then change the records that point to site-dns.bolt.host so that they point to VibeDeploy. When the domain shows the new site, remove it from the Bolt project under Domains & Hosting in the project settings. If you bought the domain through Bolt, its DNS records are edited in Bolt itself (profile icon > Settings > Cloud > Custom domains). Bolt does not accept an A record for a name that still has one of its own system records, so the bare domain may have to be disconnected from the Bolt project before you can point it elsewhere.
What does not transfer
Only the code moves. Plan for the rest:
- The bolt.host address. The site you published in Bolt stays online until you unpublish it in Bolt's Publish menu, and Bolt asks you to disconnect a custom domain before you can. The new site lives at its vibedeploy.be address and on your domain.
- Integrations and environment variables. Connections you set up in Bolt, such as GitHub, Supabase or Stripe, belong to your Bolt account and project, not to the code. Values that start with
VITE_are compiled into the browser bundle, so they are public by design: keep them in your local.envfile and the local build bakes them in. Real secrets are a different matter. Bolt keeps them for its server functions (database icon, then Secrets), and they do not come with the code. On VibeDeploy, secrets go in the dashboard, in the site's Settings tab under Secrets. Every container service receives them as environment variables, and once a value is saved, nobody can read it back, not you and not your AI. - The database. A Supabase project in your own Supabase account keeps working from the new host: the app talks to it exactly as before. If users sign in, add the new domain wherever your auth settings list allowed URLs. Bolt Database is different, because it lives in Bolt Cloud. Bolt lets you export table rows as CSV or JSON from its table view, and on a Pro or Teams plan you can claim the database into your own Supabase organization. Or run the database next to the site: Claude Code can start Postgres in a container with the
deploy_apptool, and your app imports the exported rows, for example with a seed script. - Server code. Bolt's server functions are managed in Bolt's database settings and run in Bolt Cloud. Their files are part of the project, but outside Bolt they only run where a server runs them. A contact form does not need a server function: VibeDeploy's built-in form-to-email relay emails each submission to you, and Claude Code sets it up with the
set_forms_configtool. If the app needs a real backend after the move, Claude Code can write one and run it next to the site withdeploy_app: any public image, such as your own server from the source tree, Postgres, MySQL, Redis or workers, up to 6 services with 2 CPU and 2 GiB of memory in total, each isolated with gVisor. Container data is not yet included in snapshots, so keep your own exports of anything that matters. - The chat. Your conversation with Bolt stays in Bolt. Write the decisions worth keeping into CLAUDE.md, where Claude Code will find them.
Keep Bolt and Claude Code on the same repository
If you connected GitHub in step 1, you do not have to give up Bolt. Bolt checks GitHub every 30 seconds for changes made outside Bolt and pulls them in, so a commit that Claude Code pushes appears in Bolt. The catch is conflicts: when both sides change the same thing, Bolt keeps its own version and overwrites the one on GitHub. Work in one tool at a time, or let Claude Code work on a branch and merge it on GitHub, because Bolt does not merge branches itself.
Pick one deploy path per site as well. Either Claude Code deploys, or VibeDeploy builds the GitHub repository on every push (you connect it in the dashboard). Each deploy replaces the site's files, so two paths on one site would keep overwriting each other.
What it costs
VibeDeploy's 14-day trial needs no card and covers one site with one custom domain. After that, Solo costs EUR 4 a month for one site with your own domain, and Maker EUR 15 a month for three sites; the pricing page lists the rest. Prices include VAT where it applies. Claude Code is billed by Anthropic, and its documentation says most surfaces need a Claude subscription or an Anthropic Console account.
For comparison, staying in Bolt with your own domain means a paid Bolt plan. Bolt's pricing page lists Pro at $25 a month, billed monthly, and that subscription pays for Bolt's AI building as well, not only for hosting.
Where to go next
- Exporting and hosting a Bolt project without switching tools: Bolt.new project download and the Bolt deploy guide.
- Deploying anything from the terminal: from Claude Code in your terminal to a live site and the Claude Code deploy guide.
- The wider picture for every AI tool: how to deploy AI-built websites in 2026.
Sources
- Bolt Help Center, Manage your projects: Export > Download under the project title,
npm install && npm run dev, and the 2026 change in how Bolt stores project code. Checked 13 October 2026. - Bolt Help Center, GitHub for version control: connecting from the GitHub icon, automatic commits, the 30-second check for outside changes, conflicts, branches and owner-only setup. Checked 13 October 2026.
- Bolt Help Center, Team settings: the team-wide GitHub integration control. Checked 13 October 2026.
- Bolt Help Center, Manage project context: the agents.md file. Checked 13 October 2026.
- Bolt Help Center, Database: Tables, Database: Secrets settings, Server functions, Integrations issues and Supabase for databases: row export as CSV or JSON, secrets, server functions and their files in the project, and claiming a Bolt database in Supabase. Checked 13 October 2026.
- Bolt Help Center, Publish your project, Domains, Connect your domain and DNS records: publishing on bolt.host, unpublishing, custom domains on paid plans and DNS for domains bought through Bolt. Checked 13 October 2026.
- Bolt, Pricing: Pro at $25 a month billed monthly, with custom domain support. Checked 13 October 2026.
- Claude Code docs, Overview, Advanced setup, How Claude remembers your project and Connect Claude Code to tools via MCP: what Claude Code does, account requirements (Pro, Max, Team, Enterprise or Console; not the free claude.ai plan), cloud providers, CLAUDE.md,
/, imports, the 200-line guidance,init claude mcp add, scopes,/andmcp claude mcp list. Checked 13 October 2026. - Vite docs, Env variables and modes: variables prefixed with
VITE_are exposed in client-side code. Checked 13 October 2026.
Ship your AI-built site in minutes
VibeDeploy hosts your AI-built websites in the EU with custom domains, automatic SSL, and a 14-day free trial that gets you online today.
Deploy guides for this topic
Questions people ask
How do I transfer a project from Bolt.new to Claude?
Move the code, not the chat. Connect the Bolt project to GitHub, or download it with Export > Download under the project title, then open the folder in Claude Code and run /init so it writes a CLAUDE.md about the project. Claude Code now edits the same files Bolt made. To deploy from there, connect VibeDeploy as an MCP server and ask Claude Code to deploy.
Can I keep editing in Bolt after the move?
Yes, through GitHub. Bolt commits each working change to the connected repository and checks GitHub every 30 seconds for changes made outside Bolt, so commits that Claude Code pushes show up in Bolt. When both sides change the same thing, Bolt keeps its own version and overwrites the GitHub one, so work in one tool at a time or use a branch.
What happens to my Bolt database and secrets?
They stay with Bolt. Bolt Database lives in Bolt Cloud: you can export table rows as CSV or JSON, or claim the database into your own Supabase organization on a Bolt Pro or Teams plan. A Supabase project in your own Supabase account keeps working from the new host. Secrets do not come with the code; on VibeDeploy you set them in the dashboard, in the site's Settings tab under Secrets.
Do I need a paid Claude plan for Claude Code?
Usually, yes. Anthropic's documentation says Claude Code requires a Pro, Max, Team or Enterprise plan or an Anthropic Console account, and that the free claude.ai plan does not include Claude Code; the terminal, VS Code and JetBrains versions can also run through a supported cloud provider. VibeDeploy is separate: the 14-day trial needs no card and includes one custom domain, and plans start at EUR 4 a month after that. Prices include VAT where it applies.
Will my bolt.host link keep working?
Yes, until you unpublish it in Bolt's Publish menu. The new site gets its own vibedeploy.be address and, once you connect it, your domain. If your domain is connected to the Bolt project today, switch its DNS after the new site is live, then remove it from the Bolt project; Bolt asks you to disconnect a custom domain before you can unpublish.
Related reading
How to Deploy AI-Built Websites in 2026: The Complete Guide
Every way to get an AI-built site live in 2026: MCP deploys, a deploy guide for any chat AI, upload or GitHub, containers, and a 25-tool export matrix.
From Claude Code in your terminal to a live site
Yes, Claude Code can deploy a website: one claude mcp add command, a sign-in with /
Claude Artifact Won't Publish or Share? Causes and Fixes
Why a Claude artifact won't publish or share: Claude accounts, admin settings, the 16 MiB limit, the renamed button. How to unpublish, and the fix.
Deploy a Website From Claude With One Custom Connector
Add VibeDeploy as one custom connector in Claude on the web, Desktop, mobile or Cowork, then let Claude publish your site and connect your domain.