base44 eject
Download the code for an existing Base44 project to your local machine.Syntax
Options
| Option | Description | Required |
|---|---|---|
-p, --path <path> | Path where to write the project | No |
--app-id <id> | App ID to eject (skips interactive selection) — global flag, also accepted via BASE44_APP_ID env var | No |
-y, --yes | Skip confirmation prompts | No |
What It Does
Theeject command allows you to download the source code of a Base44 project that was created or managed through the platform:
- Lists all ejectable projects (projects with managed source code)
- Lets you select a project interactively (or specify via
--app-id) - Downloads the project code to a local directory
- Creates a new project as a copy (named “{Original Name} Copy”)
- Links the downloaded code to the new project
- Creates
.env.localwith the new project ID - Optionally installs dependencies, builds, and deploys the project
Examples
Workflow
When you runeject:
- Project Selection: Choose from available ejectable projects
- Path Selection: Specify where to create the project (defaults to
./{project-name}or./if current directory is empty) - Download: The project code is downloaded to the specified path
- New Project Creation: A copy of the project is created in Base44 (e.g., “My App Copy”)
- Linking: The local code is linked to the new project
- Optional Deployment: If the project has build commands configured, you’ll be asked if you want to deploy
- Runs the install command (e.g.,
npm install) - Runs the build command (e.g.,
npm run build) - Deploys all resources with
base44 deploy
- Runs the install command (e.g.,
Requirements
- Must be authenticated (run
npx base44 loginfirst) - The project must be ejectable (have managed source code)
- In non-interactive mode, both
--app-idand--pathare required
Use Cases
- Download a project created through the Base44 dashboard
- Clone a managed project for local development
- Create a copy of an existing project to customize
Notes
- The command creates a new project as a copy, preserving the original
- The new project will be named “{Original Name} Copy”
- The downloaded code is automatically linked to the new project
- If the current directory is empty, the default path is
./ - If the current directory has files, the default path is
./{kebab-case-project-name} - Only projects with
isManagedSourceCode !== falsecan be ejected - If no ejectable projects exist, the command exits with “No projects available to eject.”
Related Commands
| Command | Description |
|---|---|
base44 create | Create a new Base44 project from a template |
base44 link | Link an existing directory to a Base44 project |
base44 deploy | Deploy all project resources |

