base44 execloads an SDK released in the last 24 hours instead of Deno's default minimum dependency age silently holding scripts on the previous one. Other npm packages a script imports keep the default.
-
base44 sessions importcontinues a Claude Code or Codex session in Base Code and prints the branch link.--currentpicks the session the command runs inside (what Base Code's Import session prompt runs), a claude.ai session address pulls a cloud session down withclaude --teleport,--fileuploads a file as is, and no argument opens a picker.--token <b44imp_…>uses the one-time key from Base Code instead of the CLI login. Before uploading the current session it stops if the work isn't on GitHub yet (Base Code starts from there) —--skip-push-checkimports without it — and it sends the current branch assource_branchfor the new branch to start from. Each upload carries anIdempotency-Key, so a retry never creates a second branch. -
base44 site installruns the site'sinstallCommandand nothing else, so a machine that only needs a project's dependencies no longer has to go throughcreate,scaffoldoreject. Local only: no login and no app id required. -
base44 site devruns the site'sserveCommandexactly as written, with no local backend and the frontend reaching its backend same-origin — the shape a hosted sandbox needs, wherebase44 dev(local backend) anddev --remote(the published app) are the developer-machine paths. It appends nothing of its own — anything after--is appended as given, sonpm run devneeds a second--to reach the script (base44 site dev -- -- --config wrapper.mjs) — and where the dev server binds is the command's own business, and in a sandbox@base44/vite-pluginbinds Base44 apps to0.0.0.0:5173. Serving is its whole job, so it falls back tonpm run devwhen the block names none. -
base44 branches list --app-id <id> --jsonlists main and active branch names for agents working outside Builder. -
Global
--branch <name>targets sandbox commands at a specific app branch. Names resolve within the selected app; missing or ambiguous names fail. Other commands reject the flag explicitly; omitting it or using--branch maintargets main. -
App visibility:
base44 visibility <public|private|workspace>sets it on the server directly (accepts--app-idto target any app). Also configurable via"visibility"inconfig.jsonc, whichbase44 deployapplies. New projects scaffold"visibility": "public". -
base44 buildruns the site'sbuildCommandwithVITE_BASE44_APP_IDinjected, so built bundles always carry the linked app's id. -
base44 deploy(andbase44 site deploy) can now build first: interactive runs ask, and--build/--no-buildpre-answer the prompt. -
base44 dev --remoteserves the frontend against the production backend: it runssite.serveCommandwithVITE_BASE44_APP_IDandVITE_BASE44_APP_BASE_URLpointing at the app's own published URL, without starting the local backend. Fails if the app has no published URL.
base44 deploy --git-hash <hash>ships the site through the deployments API — the same lanebase44 site deployuses — addressed by that commit, and publishes it, so a full-stack build's worker ships too. Without--git-hashthe site deploys through the archive upload and goes live, as before; a full-stack build, which that upload cannot carry, now fails asking for the flag before anything ships instead of silently dropping its worker.base44 site deployis no longer behindBASE44_DEPLOYMENTS_API; setting the env var now does nothing.--git-hash/--concurrencyare always available, and--git-hashis what selects the deployments API: with it, the build is deployed by that commit but not published —--publishasks for that, and the command says so when it leaves production alone — because the platform's own build step runs it against builder-managed apps, which are published from the builder. Without--git-hashit deploys through the archive upload and goes live, as before.- The
siteblock's two commands now default to the conventionsbase44 createscaffolds, so a block only has to name what a project does differently:installCommandnpm installandbuildCommandnpm run build.siteitself stays optional, andserveCommandandoutputDirectoryare deliberately not defaulted — their absence says "no frontend to run here" and "nothing built to upload", sobase44 devstill runs the backend alone andbase44 deploystill skips the site step. For a project that declared a partial block,base44 buildanddeploy --buildnow build it instead of refusing, and the deploy flow may offer to build first. base44 sandboxhelp now explains that writes are committed but not checkpointed: a Restore or Revert in the builder rolls the app back to the last checkpoint and discards everything after it, so runbase44 sandbox checkpointafter each unit of work and before stopping. The note appears onsandbox,sandbox write,sandbox edit,sandbox run, andsandbox checkpoint.- The
backend-and-clienttemplate now scaffolds the same client convention editor-created apps use:@base44/vite-plugin+src/lib/app-params.js, with the SDK client on same-origin/api(serverUrl: ''). Underbase44 devthe plugin proxies/apito the local dev backend, so scaffolded apps get local entities and functions; the app id is injected viaVITE_BASE44_APP_IDbybase44 dev,base44 dev --remote, and the build/deploy commands instead of being baked into source.
- Agent files accept server route tools (
{ "tool_name", "route_path", "method", "description" }), the tool type that lets an in-app agent call one of a full-stack app's own server routes.base44 agents pullwrote them, but every later command that reads the project —agents push,deploy, and most others — refused the file attool_configs[N].methoddefaults topostanddescriptiontoagent server route, as on the server. base44 link --app-idlinks directly instead of first listing your apps to confirm the ID. The listing only covered the 50 most recently updated apps, and a workspace API key (BASE44_API_KEY) is refused on it, solink --app-idfailed in CI. A wrong ID now fails on the first request that addresses the app.base44 deploy --git-hash(andsite deploy --publish) no longer fails after a successful publish when the app's URL can't be looked up, as happened with a workspace API key (BASE44_API_KEY). It reports the deploy and leaves out the URL.- An app id passed with
--app-idorBASE44_APP_IDno longer discards the project the command runs in. Commands that need a project —site dev,dev,connectors pull/push— refused as if there were none. A checkout withbase44/config.jsoncbut no.app.jsonc, such as a hosted sandbox, can now run them. - The
backend-and-clienttemplate names its entity fileTask.jsonc, matching the entity'sname; the Base44 platform derives the entity from the filename, sotask.jsoncread as a second entity. base44 linknow lists editor-created apps; previously only apps created by the CLI could be linked.
- Auth and user registration in local dev (#475)
- Social login and custom Google OAuth commands (#445)
- Connector automation support for backend functions (#471)
- Forward service token header from
Authorizationinbase44 dev(#461)
- Convert function entry path to file URL for Windows compatibility (#482)
- Non-interactive
runTaskfunction for programmatic task execution (#441) - Windows test runner (#454)
- Rename dev logger (#443)
- Classify auth timeout as
AuthExpiredError(#453)
- Show auth command in top-level help (#444)
- Remove devDependencies before publish
auth password-login,pull, andpushcommands (#422)- User entity schema support in local dev (#406)
- Refactor logger to simple logger (#425)
- Make
logscommand discoverable in help output (#432) - Add local dev media tests (#439)
- Set up infrastructure for dev tests (#428)
- URL-encode function name in
fetchFunctionLogsto fix 404 for zero-config functions (#429)
base44 execcommand (#357)- Use TypeScript directly for Deno runtime, skip bundling (#386)
- Use Commander.js classes for base44 commands (#420)
- Functions commands: list, delete, pull, deploy, and unified deploy (#412)
- Schema validation while running
base44 dev(#395)
- Refactor
base44 createcommand to be more flexible (#407) - Make upgrade notification non-blocking and use bordered box (#365)
- Move cursor command to claude commands (#417)
- Revert simplified root README to monorepo overview (#405)
Maintenance release with publishing workflow fixes
- Update Homebrew tap (#404)
- Stripe connector support (#251)
connectors list-availablecommand (#367)- Binary test mode to testkit for real binary testing (#394)
- Token support for private files (#379)
- Move Biome configuration to monorepo root (#389)
- Migrate to monorepo structure (#372)
- Update npm package
filesfield
- Standalone binary builds for Homebrew distribution (#362)
- Entity watching in
base44 dev(#364)
- Generate a new request ID for each request (#376)
- Disable timeout for delete secret request (#375)
- Zero config for functions (#246)
- Watching and reloading functions (#353)
- Increase secrets set timeout to match functions push (#361)
- Expand README check trigger and fix lychee format (#360)
- Show the base44 secret command in help menu (#356)
- Include x-request-id in ApiError and error reporter (#346)
- CLI Local Dev - Media (#339)
- Improve Errors - Changed system to user errors, and display validation errors returned from the server (#355)
- Secrets list, set, and delete commands (#321)
- CLI local dev support for entities (#279)
- Hide secrets command from help output (#333)
- Fixed eject command when there are no options (#332)
base44 logscommand for fetching function runtime logs (#225)
- Add authoring agent instructions topic guide (#286)
- CLI local dev functions support (#249)
- Automated error reporter GitHub Action (#267)
- MIT License (#257)
- Update CLI status from alpha to beta (#248)
- Refactor AGENTS.md to a new docs structure (#253)
- Add
isNonInteractiveto CLIContext for aligned behavior (#254) - Align CLI schemas with backend (#252)
- Bump clack version to latest with small fixes (#264)
- Knip include classMember (#263)
- Reauthorization issue (#250)
- Remove PII from error reports (#269)
- OAuth connector resource with
base44 connectorscommands (#189) - Connector pull command to sync connectors from remote (#214)
- Connectors integration in unified
base44 deploycommand (#211) - Allow skipping OAuth with Esc key in connector setup (#217)
ConnectorTypeRegistryto generated types (#236)limitparameter to listProjects API call (#245)typecommand shown in the help menu (#244)- Knip dead code detection setup (#239)
- Readme update workflow (#209)
- CLI local dev full proxy support (#226)
- Trailing comma standard enforcement (#230)
- Biome linting on save (#227)
- Change global timeout to request-specific timeouts (#243)
- Extend request timeouts to 3 minutes (#242)
- Remove agent name pattern validation (#231)
base44 ejectcommand to eject project from Base44 (#220)
- Wrap name registries with quotes for safety (#223)
- Use
npm install -g base44@latestinstead ofnpm update -g base44for upgrade notification (#222)
- Function automation schemas for trigger-based function execution (#197)
- Handle 428 Precondition Required API error status codes in entity operations (#218)
- Upgrade notification when a newer CLI version is available (#157)
- Collect API request/response data in error reporter for better debugging (#201)
- Upload sourcemaps to PostHog for improved error tracking (#208)
- Simplify function schemas (#196)
- Add Bun build with watch mode for faster development (#198)
- Fix user ID collection in error reporter context (#206)
- Add missing commands to README (#204)
- Use Bun for local development and Biome for linting/formatting (#183)
- Fix publish workflows for npm authentication
base44 site openandbase44 dashboard opencommands to open URLs in browser (#169)
- Improve schema validation error messages with nicer error message (#177)
- Wrap PR description in NOTE callout block (#172)
- Add CLAUDE.md symlink to AGENTS.md for code review plugin (#182)
- PostHog error monitoring and telemetry for CLI executions (#156)
- Dependency injection for commands and program via
CLIContext(#156) - Agent hints and error context display on errors (#161)
- Agent deployment to unified
base44 deploycommand (#149) - AI agent to backend-and-client template (#153)
- CLI integration tests (#19)
- Better error messages with structured error hierarchy (
UserError/SystemError) (#159) - Enhance resource schema validation with comprehensive Zod types (#151)
- Centralize API error handling in ky client (#135)
- Update skill installation command in README and CLI create command (#162)
- Support multifile upload when deploying functions (#146)
--no-skillsflag to create command to skip skills installation (#142)
- Detect non-TTY environments and disable animations (#139)
- Change 'Pick a template' to 'Pick an option' in create command (#137)
- Trigger skills repo notification directly from publish workflow (#134)
- Agents integration with
base44 agents pullandbase44 agents pushcommands (#112) - Path alias mapping
@tosrc/for imports (#124) - GitHub Actions workflow to notify skills repository on release (#115)
- Allowed bots configuration for claude bot in workflows (#126)
Re-release with no changes
- GitHub Action for auto PR description generation (#118)
- Minor improvements to create command output (#122)
- Make skills installation non-critical in create command (#121)
- Use colon-based allowed-tools patterns for gh commands (#120)
- Change globby pattern to find
.app.jsoncfiles (#117)
- Change stdio to shell option in skill installation for cleaner output
- AI agent skills option to
base44 createcommand (#95)
- Simplify AI agent skills selection to yes/no prompt (#111)
- Refactor CLI code to separate concerns between running and exporting (#109)
- Update README documentation (#93)
- Remove
--existingflag from link command API (#107)
- Support for linking to existing projects with
base44 link(#97) - Claude Code GitHub Workflow for automated code review (#98, #106)
- Configuration file changed from
.env.localto.app.jsonc(or.app.json) (#96)
- New unified
base44 deploycommand to deploy entities, functions, and site in one step (#92) - Template option (
--template) to project creation command (#86)
- Find both
.jsonand.jsoncfiles for configuration (#90)
- Align params to backend requirements (#89)
- Align entities schema API to match backend requirements (#81)
- Fix intro background color (#84)
- New
base44 linkcommand to link an existing directory to a Base44 app (#83) - New
base44 dashboardcommand to open the app dashboard in browser (#82)
- New
base44 functions deploycommand to deploy backend functions (#75)
- Automatic changelog generation on release (#68)
- Add
.gitignoreto backend-only template to ignore.env.localfiles (#70) - Fix issue with version detection (#71)
- Consolidate color definitions into centralized theme file (#74)
- Relax GitHub issue templates to be more flexible (#72)
- Non-interactive mode for
base44 createcommand with--deployflag (#67)
- Fix command output formatting with proper line wrapping (#63)
- Align intro/outro styling across all commands (#61)
- Various small fixes and improvements (#60)
- Auto-login flow before
createcommand when user is not authenticated (#48) - Automatic
npm install,entities push, andsite deployafter project creation (#47) - EJS frontmatter support for custom output paths in templates (#46)
- GitHub issue and PR templates (#44)
- Improve template option clarity in create command (#49)
- Minor UI beautifications in create command (#53)
- New
base44 site deploycommand to deploy frontend to Base44 hosting (#20) - Authentication checks for commands that require user authentication (#28)
- Remove unused
show-projectcommand (#42)
- Fix entities push to send the entire schema object instead of just the name (#23)
- Initial public release of the Base44 CLI
- Authentication commands:
login,logout,whoami(#5, #10) - Project configuration parsing from
config.jsoncand sub-directories (#7) base44 entities pushcommand to sync entities to remote (#13)base44 createcommand to initialize new Base44 projects (#14)- Template selection when creating new projects (#16)
- Bundle CLI to single file for easier installation (#21)
- Display dashboard link after login (#22)
- Refactor folder structure to be organized by command/resource (#8)
- Use tsdown for building (#11)
- Solve circular dependencies and improve API client architecture (#18)