Editing through the sandbox is not the same as publishing. Your edit becomes part of the app’s code right away and shows up in the app editor and its live preview, but reaching the app’s public site still takes the same publish step it would for a change made in the app editor.
Two ways to connect
The sandbox exposes the same set of operations through two surfaces, backed by the same implementation. Use whichever fits your setup.- CLI: Suits anything running on your own machine, including a local coding agent and your own scripts. Authenticate once with
base44 login, then target the app with--app-idor theBASE44_APP_IDenvironment variable. No local project is required. - MCP server: Suits an AI assistant that connects over MCP, including web-based assistants that cannot run a CLI at all. Connect it once and authorize with OAuth.
Changes save automatically
Asandbox write or sandbox edit call commits the change for you as part of the same request, before the command returns, so there is no separate save, deploy, or push step. A file change made through sandbox run, such as rm or mv, commits a few seconds later instead, once a short debounce window closes. If you write or edit again before an earlier debounced commit has landed, the new call waits on it and fails with COMMIT_FLUSH_PENDING if it can’t confirm that commit finished in time. Once a commit lands:
- The change is visible in the Base44 app editor.
- It’s safe even if the sandbox’s compute environment gets recycled after sitting idle, since a new one always starts from your latest commit rather than an older snapshot.
- It is included the next time you publish the app.
entities push or functions deploy after adding a file, creating base44/functions/send-email/entry.ts in the sandbox is all it takes to add that function.
Checkpoints
A checkpoint is a restore point in the app’s version history, anchored to a specific commit. Create one withsandbox checkpoint to mark a known-good state, then restore it from the app editor if a later change goes wrong. Pending changes are committed before the checkpoint is taken, so it always captures your latest code.
Working alongside the app editor
Your coding agent and the Base44 app editor can work on the same app at the same time. There is no lock to acquire and no session to release. Changes from either side land in the same place, so treat it the way you would treat a colleague editing the same project.Permissions
Two separate checks gate access to the sandbox: whether you can access this app at all, and whether your current session was granted write access to it.App access
You need admin access to the app itself, either as a workspace admin or as a collaborator on this specific app. Access is checked on every call, so a change to your workspace role takes effect immediately. A plain workspace viewer can’t reach the sandbox at all. The one exception is a viewer who also holds a legacy per-app editor role from before your workspace moved to role-based access. That combination can still read from the sandbox, but not change anything. Superagents do not support the sandbox commands.Session scope
Beyond app access, reading and changing the sandbox require different permissions on your session:
Your session’s permissions are fixed when it’s created and cannot be widened later. The CLI asks for
sandbox:write during base44 login, and over MCP you grant it at the OAuth consent step. Renewing an existing session does not add it.
So if the reading commands work but the changing ones fail with NOT_AUTHORIZED, you are on a session that never had sandbox:write. Run base44 login again, or reconnect the MCP server and approve sandbox access, to start a session that has it.
Limits and guardrails
File commands are confined to the app root. Absolute paths and paths that climb above the root are rejected withPATH_OUTSIDE_SANDBOX. The .agents and .git directories are not reachable from the file commands, and fail with PROTECTED_PATH, because they hold your app’s secrets and repository credentials. The one exception is .agents/skills, which you can read and write so that your agent can work with the skills the app has installed.
Across the whole feature, you’re capped at 120 read requests, 60 change requests, and 30 run commands per minute, per app. Going over any of these fails with RATE_LIMITED. Each command’s own reference page covers its size and count limits, such as how many paths sandbox read accepts or how large a file sandbox write allows.
See also
- Base44 MCP server: Connect an AI assistant to your Base44 account
- CLI Overview: Install and use the Base44 CLI
- Project structure: How Base44 project files are organized
- Local development: Run a Base44 project on your own machine instead
- Skills: Teach AI coding agents how to work with Base44