Skip to main content
Set up GitHub integration to edit your Base44 app locally and sync changes automatically.

Sync your app with GitHub

Connect your app to GitHub to write code in your local development environment or in Base44 and keep them in sync with each other.
GitHub connection prompt showing permanent sync setup.

Connect to GitHub for 2-way sync

Important:
  • GitHub 2 way sync requires the Builder plan or higher.
  • Only app owners can connect an app to a repository or reconnect it.
  • If you previously connected to GitHub using the legacy Export to GitHub 1-way integration, click Looking for the old setup? in the GitHub panel to disconnect it and reconnect using 2-way sync.
  • When you connect your app to GitHub, your changes are synced to the connected repository automatically. There’s no option to manually push updates from your Base44 app to GitHub.
  • After you connect GitHub to your app, you cannot use Version History to revert to versions from before the GitHub integration. Those older versions are not stored in your GitHub repository, so trying to revert to them results in an error. Only versions that exist in the connected GitHub repo are available to restore.
To sync your app with GitHub:
  1. Click Dashboard in your app editor.
  2. Click the GitHub icon at the top-right and click Connect to GitHub.
  3. Click Connect GitHub.
  4. Click Authorize Base44 Builder.
  5. Choose where to install the Base44 Builder:
    • Select the GitHub organization or account.
    • Choose which repositories to allow access.
  6. Click Install.
  7. Create a repository for your app:
    • Choose the GitHub organization or account.
    • Enter a name for the new repository.
    • Click Create Repository.
After connecting, click the GitHub icon in the top panel, then click Go to Repository.
GitHub showing Connected status and a Go to Repository button.

View your connected GitHub repository

How your team writes to GitHub

GitHub connections belong to your workspace, not to one person’s account. Workspace admins manage them in Workspace settings > GitHub, and sync keeps working if the member who connected an organization leaves the workspace. Your workspace admin chooses how members write to GitHub. The setting applies to every app in the workspace that syncs with GitHub:
  • Shared connection: Everyone writes through the workspace’s connection, without connecting a GitHub account of their own. Commits show Base44 as the author. This is the default.
  • Per user connection: Each member connects their own GitHub account and gets the access GitHub already gives them. Members without write access to the repository can’t edit or publish the app. Commits show under the member’s own name.
Base Code apps always use per user connections.
How organizations work in your workspace:
  • When you create a repository, you only see the GitHub organizations your workspace allows.
  • By default, only workspace owners and admins can add a new organization. Admins can let Editors add organizations too.
  • Connections made before GitHub moved to the workspace were moved automatically, so you don’t need to reconnect.

Set up your local development environment

After connecting to GitHub, set up your local repository to start editing code in your preferred development environment. To set up your local repository:
  1. Clone the repository using the project’s Git URL.
  2. Navigate to the project directory.
  3. Install dependencies: npm install.
  4. Install the Base44 CLI: npm install -g base44@latest.
  5. Authenticate: base44 login.
  6. Link the clone to its app: base44 link. The base44/.app.jsonc link pointer is gitignored, so every fresh clone needs this step.
Run the app locally:
This starts a local Base44 backend and your frontend dev server together. The frontend’s /api requests are proxied to the local backend. See Local development for what runs locally. To work on only the frontend against your app’s live hosted backend, run base44 dev --remote instead.
In remote mode, writes go to your live app’s production data.
For details on the exported file structure, see Project Structure.

Sync local changes to Base44

To sync your local changes to Base44, merge the changes to the main git branch. This branch must be named main. Other default branch names, such as master, currently aren’t supported. The changes will then be visible on your Base44 app.
After syncing, click Publish in the top right corner of your Base44 app to make the changes live for users.

Disconnect from GitHub

You can disconnect a specific app from its GitHub repository, or disconnect a GitHub organization from your whole workspace. Moving an app to another workspace also disconnects its GitHub sync, and Base44 warns you before it does.
If you don’t see Disconnect in the GitHub panel, it isn’t enabled for your account yet. Sync can’t be paused, so the only states are connected and disconnected.

Disconnect your repository

Disconnect your app from its GitHub repository if you no longer want to sync changes. Only the app owner or the member who connected the repository can disconnect it. To disconnect your repository:
  1. Open the code tab.
  2. Click GitHub.
  3. Click the More actions icon .
  4. Click Disconnect.
The disconnect process takes approximately 30 seconds and is only available when the AI agent is not actively making changes to your app.

Reconnect your repository

Reconnect your app to the repository it was disconnected from to resume syncing. Only the app owner can reconnect. To reconnect your repository:
  1. Click the GitHub icon at the top-right and click Connect to GitHub.
  2. In the Reconnect Repository dialog, click Reconnect.
When you can’t reconnect:
  • Both your app and the repository have new commits since they last matched.
  • The repository was renamed or deleted, or its default branch changed.
  • The repository was connected from a different workspace.
  • The workspace’s connection to the repository’s organization was disconnected. Ask a workspace admin to reconnect it in Workspace settings > GitHub.
In these cases, click Create a new repository instead.

Disconnect an organization from your workspace

Disconnect a GitHub organization if you no longer want apps in your workspace to sync with it. Every app that syncs through the organization stops syncing, and the Base44 GitHub App stays installed on GitHub. Workspace owners, admins, and Editors can disconnect an organization. To disconnect an organization:
  1. Go to Workspace settings.
  2. Click GitHub.
  3. Under Connected organizations, click the More actions icon next to the organization.
  4. Click Disconnect organization.
  5. Click Disconnect to confirm.