Deploy and Release App Versions
An app version is an immutable snapshot of your app configuration and all of its extensions. One version is active per app. The active version is what every store that installed your app receives.
Use versions to ship changes safely: deploy when you are ready, roll back when something breaks.
How it works
youcan app devsyncs your local files to a development session on your dev store. It never changes what other stores see.youcan app deploycreates a version from your local files and releases it to all stores.youcan app releaseactivates a previously created version, including older ones.
Deploy a version
Run this command from your app directory:
youcan app deployThe CLI uploads only the files that changed, creates the version, and releases it. Pass a message to describe the change:
youcan app deploy -m "add cart upsell block"Version names
Each version gets a sequential number and a name. When you omit the name, the CLI generates one from the date, for example 2026-08-07-1. Pass --version to set your own:
youcan app deploy --version "summer-launch"Create without releasing
Pass --no-release to create the version without activating it:
youcan app deploy --no-releaseRelease it later with youcan app release.
Safety checks
Before it releases, the CLI warns you when:
- Your
app_urlpoints at a dev tunnel. Releasing it would break the live app. - A block that exists in the active version is missing or renamed locally. Sellers who placed that block would lose it. See compatibility rules.
Pass --force to skip these prompts.
List versions
youcan app versionsThe output shows each version with its number, name, message, and release state. The active version is marked.
Release or roll back
Activate any version by its number or name:
youcan app release --version 3
youcan app release --version "summer-launch"Releasing an older version rolls the app back. Seller customizations are not affected: block placements and settings survive a rollback as long as the block files still exist in the released version.
Sync your local config
Configuration changes made in the Partners dashboard create versions too. Your local youcan.app.json does not update automatically, and a stale file reverts those changes on your next deploy. Pull the active version's config into your local file:
youcan app config pullRun it before you deploy when the app configuration may have changed outside your repository.
Deploy from CI
The deploy and release commands accept an access token from the environment, so they run without a browser:
YC_CLI_ACCESS_TOKEN=<token> youcan app deploy -m "$COMMIT_MESSAGE"When your app directory is a git repository, the CLI records the current commit hash in the version manifest. The partners dashboard shows it on the version details.
Where to get help
If you encounter any issues or have any suggestions, you can open an issue in the YouCan CLI repository.