How to run a Base44 app locally
Run a Base44 app on your own machine: clone from GitHub or eject with the CLI, link it, and use base44 dev. What runs locally, what's forwarded, and the remote-mode trap.
8 min read
To run a Base44 app locally, get the code onto your machine (GitHub sync or base44 eject), install the Base44 CLI, link the folder to your app, and run base44 dev. That starts a local backend and the Vite dev server together. Entities, functions, file uploads and email/password login run on your machine. Social login and built-in integrations such as SendEmail are forwarded to your deployed app.
Local development pairs with GitHub sync and is one of the lighter steps in a Base44 migration.
Prerequisites
- Node.js 20.19.0 or higher for the CLI.
- Deno, installed separately, if your app has backend functions. Each function runs locally as its own Deno process.
- The Builder plan if you’re using GitHub sync, and your app ID, which is in the editor URL:
app.base44.com/apps/<app-id>/editor.
Option A: work on the same app (GitHub sync)
Use this when you want to keep building the app you already have, locally and in Base44’s editor.
git clone git@github.com:you/your-app.git && cd your-app
npm install
npm install -g base44@latest
base44 login
base44 link # the link pointer (base44/.app.jsonc) is gitignored, so run this in every fresh clone
base44 dev
Changes you merge into main sync back to Base44. Click Publish there to put them live.
Option B: make an independent copy (eject)
Use this when you want a separate project, for example to experiment or to start a new app from an existing one.
base44 eject --app-id <your-app-id> --path ./my-copy --yes
cd my-copy && npm install
base44 dev
The ejected project gets a new app ID. Your entity schemas come with it, but, as the docs put it, “the ejected project has an empty database.” To build it for deployment, use base44 build so the new app ID is injected.
Option C: backend code only (scaffold)
If you only want to write backend resources locally, such as entities, functions and agents, while the frontend stays in Base44’s visual editor:
mkdir my-backend && cd my-backend
base44 scaffold --app-id <your-app-id>
This writes base44/config.jsonc, the gitignored base44/.app.jsonc, and agent skill folders (.agents/, .claude/) that teach coding assistants how to work with Base44. Pass --no-skills to skip those.
What base44 dev runs locally
From Base44’s local development docs:
| Runs on your machine | Forwarded to your deployed app |
|---|---|
| Backend functions, with auto-reload | OAuth and social login |
| Entities, in a local in-memory database | Core integrations such as SendEmail and AI generation |
| File uploads | Custom integrations defined by OpenAPI specs |
| Email and password login |
Scheduled and data-event automations don’t run locally. The dev server logs a warning each time it forwards a request, so you can see when you’ve touched production.
Useful CLI commands
| Command | What it does |
|---|---|
base44 functions pull / deploy | Download or deploy backend functions |
base44 entities push | Push entity schema changes |
base44 secrets set / list | Manage secrets without putting them in code |
base44 types generate | Generate TypeScript types from your entities |
base44 logs | Read deployed function logs |
base44 site deploy --build | Build and deploy the frontend to Base44 hosting |
base44 dashboard open | Open the app’s dashboard in a browser |
Working without a local checkout
If you’d rather not run anything locally, Base44 also exposes each app’s cloud sandbox to the CLI (base44 sandbox ls, read, edit, run), so a coding agent can work in the same environment the editor uses. That needs the Builder plan. The AI coding agents guide covers it.
What to do next
- Connect GitHub and clone the repo.
- Run
base44 devand check the terminal for forwarded requests. - Make a small change, merge it to
main, and publish it from Base44.
Frequently asked questions
- How do I run a Base44 app on my computer?
- Connect the app to GitHub (Builder plan), clone the repository, run npm install, install the CLI with npm install -g base44@latest, run base44 login and base44 link, then base44 dev. That starts a local backend and the frontend dev server together.
- Does base44 dev use my production data?
- Not by default. The local dev server keeps entity data in a local in-memory database. Some features are forwarded to your deployed app, including social login and core integrations like SendEmail. base44 dev --remote runs only the frontend against your live backend, where writes hit production data.
- What's the difference between base44 eject, link and scaffold?
- eject clones an app into a new, independent project with a new app ID and an empty database. link connects project files already on disk to an existing app. scaffold creates configuration files for an existing app so you can write backend code locally while the frontend stays in Base44's editor.
- What are the requirements for the Base44 CLI?
- Node.js 20.19.0 or higher. Backend functions run locally as Deno processes, so install Deno separately if your app uses them.
Read next
Keep going
-
Base44 GitHub integration: how two-way sync works
How to connect a Base44 app to GitHub, how two-way sync behaves, the rules that catch people out, and how Base44's GitHub import works for existing repositories.
-
How to export your Base44 code (ZIP, GitHub or CLI)
Three ways to export Base44 code: download a ZIP, sync to GitHub, or eject with the CLI. What each includes, which plan you need, and what the export can't take with it.
-
Using Claude Code, Cursor or Codex with a Base44 app
Three ways to bring Claude Code, Cursor or Codex to Base44: GitHub sync, the app's cloud sandbox via the CLI, or the Base44 MCP server. Plans, setup and trade-offs.
-
Self-hosting a Base44 app on Vercel, Netlify or Cloudflare
Build an exported Base44 app and deploy it to Vercel, Netlify or Cloudflare. What keeps working on Base44's backend, what breaks, and the SEO step people forget.