Replit Claude Code

Move from Replit to Claude Code, step by step

Push your Replit app to your own GitHub repository and continue building with Claude Code. The steps follow your app: keep Replit hosting, or move the app and its database to your own server or Vercel.

What you'll do during the migration

Your migration is split into four stages, with step-by-step instructions, detailed explanations and practical examples.

  1. Your setup

    Tell us what your app uses and where you want it to run.

  2. Preparation

    Get GitHub, Node.js and Claude Code ready, plus anything else your app needs.

  3. Migration

    Follow 8 to 18 steps, depending on your app. Each shows you what to do and how to check it worked.

    • Push the project to GitHubConnect the Replit app to GitHub in the Git pane and push it to a private repository.
    • Get your code onto your computerCopy the private repository to a folder on your computer.
    • Open the project in the Claude appOpen the project folder in the Code tab of the Claude app.
    • Copy your secretsCopy the keys from Replit Secrets into a .env file on your computer.
    • Run your app on your computerInstall what the app needs and start it with the keys from .env.
    • Open the project in Claude CodeStart Claude Code in the project folder in a terminal.
    • Check what your app usesFind out if the app uses a database, Replit Auth and App Storage.
    • Test logins and uploads on ReplitReplit Auth and App Storage work only on Replit, so you test them in the Replit preview.
    • Back up your databaseMake a copy of the production database before you change anything.
    • Set up your own Supabase projectCreate a Supabase project for the database, the logins and the files.
    • Move your databaseRestore the backup into your Supabase project and point the app at it.
    • Switch the login to SupabaseClaude Code changes the login from Replit Auth to Supabase Auth.
    • Copy uploaded filesCopy the files from App Storage to Supabase Storage and change the upload code.
    • Remove the Replit partsClaude Code removes what only works on Replit and checks that the app builds.
    • Tell Claude Code about your projectClaude Code writes a CLAUDE.md, a short note it reads at the start of every session.
    • Prepare the server for VercelClaude Code changes the Express server so Vercel can run it as functions.
    • Send your changes to GitHubPush your changes so the new host builds the latest code.
    • Deploy to VercelImport the GitHub repository in Vercel, add the values from .env and deploy it.
    • Run your app on your own serverClaude Code deploys the app on your VPS through PanelAlpha Engine, with HTTPS.
    • Deploy every push automaticallyAdd a GitHub webhook so every push deploys the app on your VPS.
    • Make logins work on your new addressAdd the new address to the login settings in Supabase.
    • Point your domain to the new hostChange your domain's DNS records so the domain opens the new host.
    • Keep your code in sync with ReplitPull before you work and push when you finish, so Replit and Claude Code stay in sync.
    • Publish your changes from ReplitPull your changes into Replit and publish the app again.
    • Turn off the app on ReplitTurn off the old deployment on Replit once the new app works.
  4. Final check

    Test everything before switching. Your Replit app stays online until you're ready.

What the steps look like

The Git pane in Replit with the main branch and the GitHub repository it is connected to
Push the project to GitHub
The Code menu on the GitHub repository with the GitHub CLI tab open and the clone command
Get your code onto your computer
The Code tab in the Claude app with the Replit project folder open and the answer naming React with Vite and Express
Open the project in the Claude app
The Secrets tool in Replit with SESSION_SECRET and its value hidden
Copy your secrets
The terminal after npx dotenv-cli -e .env -- npm run dev with the local address of the app
Run your app on your computer
Claude Code in the project folder of a Replit app, naming a pnpm monorepo with React on Vite and an Express API
Open the project in Claude Code
Claude Code answering that a Replit app uses all three: PostgreSQL, Replit Auth and Replit App Storage, with the files that show it
Check what your app uses
The Replit Auth login of the app in the Replit preview, with the Log in button
Test logins and uploads on Replit

What you can and can't migrate from Replit

Comes with your code

  • Your frontend and server code
  • The database schema in your code
  • Images and other static files

You'll set this up

  • Your keys from Replit Secrets in a .env file
  • A CLAUDE.md file to help Claude Code understand your project

Stays with Replit

  • Replit Agent and its chat
  • Replit Auth and App Storage, unless you move them to Supabase
  • Replit hosting (your app stays online until you move it)

How is Claude Code different from Replit?

Full comparison

Replit runs the app with settings you never see. On your computer three things need work.

ReplitClaude Code
Where the code livesIn the Replit workspace, and on GitHub if you push itIn a folder on your computer and in your GitHub repository
How you workYou chat with Replit Agent in the browserYou paste prompts in the Claude app or the terminal
DatabasePostgreSQL that Replit runs for youNone. The app keeps the database it has
HostingYou publish from ReplitNone. Claude Code does not host apps
Notes for the AIIn the Replit workspaceCLAUDE.md in the project folder

Common problems

The app starts but cannot reach the database

Fix: On Replit the app gets its keys from Replit. On your computer they come from .env. Check that DATABASE_URL is in .env and that you started the app with the keys from that file.

The port is already in use

Fix: Replit apps often use port 5000. On a Mac, AirPlay Receiver uses it too. Turn it off in System Settings, or ask Claude Code to use another port.

Login fails on localhost

Fix: Replit Auth works only on Replit. Test logins in the Replit preview, or move the logins to Supabase if the app leaves Replit.

Questions

Do I need to code?

No. In the Claude desktop app you only paste prompts. In the terminal you also run a few commands. Claude Code writes the code.

Does the app go offline during the move?

No. It keeps running on Replit until you turn it off yourself.

Can I keep using Replit?

Yes, if the app stays on Replit. Replit and Claude Code then edit the same code through GitHub. You pull before you work and push when you finish.

Will my users have to log in again?

Only if the app leaves Replit. Replit Auth works only on Replit, so the login moves to Supabase and people sign up again with the same email address.

How many steps will I have?

It depends on your app. An app that stays on Replit has 8. An app that moves to a new host with its data, logins and domain has up to 18. Your plan only shows the steps that apply to you.

Is there a free plan for Claude Code?

No. Claude Code needs a Claude plan or API credits. Pro is $20 a month or $17 billed yearly. Prices checked on 14 October 2026.

Where do I tell Claude Code how my project works?

In a CLAUDE.md file in the project folder. Claude Code reads it at the start of every session. The steps help you write one.

Articles for this move

All guides

Other destinations from Replit

All Replit routes

Pick your route.

Choose where you are and where you want to go. The guide takes it from there.