nb app upgrade
Upgrade a selected NocoBase app. The CLI stops the current app, replaces the saved source or image by default, synchronizes commercial plugins, upgrades and starts the app, and refreshes the env runtime at the end. Docker envs recreate the app container from the saved env config during startup.
Usage
Parameters
Examples
If you explicitly pass --env and it differs from the current env, the CLI asks for confirmation first. In non-interactive terminals or AI agent sessions, add --yes yourself or run nb env use <name> first and try again.
Before the upgrade starts, interactive terminals also ask for upgrade confirmation unless you pass --force. In non-interactive terminals and AI agent sessions, nb app upgrade refuses to proceed without --force and prints a copyable re-run command. If the command is also cross-env, you need both --yes and --force.
By default, nb app upgrade runs these steps:
nb app stopnb source download --replacenb license plugins sync --skip-if-no-licensenb app start- Save the new
downloadVersionwhen needed nb env update
When --skip-download is passed, the CLI skips steps 2 and 3 and runs the upgrade-and-start flow directly against the currently saved source or image. If --version is also passed, the CLI does not download that version during this run; instead it only saves it as the new downloadVersion after a successful start so later upgrades can use it.
Step 4 automatically completes any required upgrade preparation for the current code state, then waits for the app to pass __health_check. During this wait, the CLI prints one waiting line first, then one progress line every 10 seconds until the app is ready or the health check times out.
If the final nb env update step fails, the upgrade still counts as successful. The CLI prints a warning and tells you to run nb env update <envName> manually afterward.

