CLI reference

Every overpush command. Run overpush help <command> for the full list of flags on your installed version.

Global flags

-v, --verbosePrint every step and the commands the CLI runs.
--versionPrint the CLI version.

Account

overpush login

Sign in through your browser. Needed once per computer.

overpush logout

Sign out and remove this computer's credentials.

overpush whoami

Show the account you're signed in as.

overpush token

Print the token and server address CI needs. See CI.

Project

overpush init

Connect the current Flutter project to an app from the dashboard. Writes overpush.yaml.

--app-idThe app id from the dashboard. Asked for if not given.
--forceReconnect a project that already has overpush.yaml.
--no-fixOnly report a missing INTERNET permission instead of adding it.

Releases

overpush release android

Build a release that can be patched.

--artifactaab (default, for the Play Store) or apk.
-y, --yesDon't ask for confirmation.

A release records what was built and keeps the files later patches need, on this computer and on the OverPush server, so another computer or CI can patch it too. Upload the .aab it prints in Play Console; see Shipping the release.

overpush preview android

Install a release on a phone connected over USB and open it, the way the Play Store does.

--release-versionAnother release, by its id.
--deviceWhich phone, when more than one is connected.

overpush release ios

Build a release that can be patched.

--artifactipa (default, for App Store Connect) or app (for your own iPhone).
--export-methodapp-store, ad-hoc, development, enterprise.
--export-options-plistPath to an ExportOptions.plist.
--[no-]codesignSign the build. Use --no-codesign in CI.
-y, --yesDon't ask for confirmation.

A release records what was built and keeps the files later patches need, on this computer and on the OverPush server, so another computer or CI can patch it too.

overpush preview ios

Install a release on a connected iPhone and open it. Needs a release built with --artifact app; --bundle-id if the app's id can't be read.

More release commands

overpush releases listList the iOS releases on this computer.
overpush releases info [<release-id>|latest]Everything about one release, and whether it can still be patched.
overpush releases archive [<version>]Save a release to your account again, then open its build in Xcode's Organizer to upload it (iOS; --no-distribute skips Xcode). Releases are saved automatically; this is for one where that failed, or built before it did.
overpush releases restore [<version>|latest]Download a release's files onto this computer. overpush patch does this by itself when they're missing.
overpush releases mark-uploaded [<version>|latest]Record that a release went to App Store Connect, when you uploaded it some other way.
overpush upload iosUpload the built IPA to App Store Connect / TestFlight. Takes --api-key and --api-issuer, or --apple-id and --password (an app-specific password).
overpush distribute iosOpen the build in Xcode's Organizer to distribute it from there.
overpush verify iosInstall the built app on a connected iPhone and report whether it's ready for patches. --installed checks the app already on the phone (TestFlight, App Store) instead, and shows the patch it's running.

Patches

overpush patch android

overpush patch ios

Build and publish a patch.

--release-versionRelease to patch: an id, a version such as 1.4.0+31, or latest. Defaults to the newest on disk.
--rollout-percent0–100. Default 100.
--notesNotes for your own log.
--patch-numberOverride the patch number.
-n, --dry-runBuild and check, don't publish.
--allow-native-diffsPublish even if native code changed.
--allow-asset-diffsPublish even if assets changed.
-y, --yesDon't ask for confirmation.

overpush patches rollout <patch-number> --percent <0-100>

Change how many devices a published patch is offered to.

--platformios or android. Only needed when the project has releases of both.
--release-versionRelease the patch belongs to. Defaults to the newest.

overpush patches revoke <patch-number>

Stop a patch on every device; they go back to the release's own code on their next start. Takes --platform and --release-version like rollout, and --reason, shown in the console.

overpush patches list

List the patches built on this computer. --release-version filters to one release.

Going back to earlier code

Revoke the bad patch, so phones run the release's own code, or publish the earlier code again as a new patch.

More patch commands

overpush patches rollback [--to <n>]Serve an earlier patch's code again, as a new patch number.
overpush patches infoEverything about one patch. --release-version, --patch-number.

The console shows every patch of every release, for both platforms, with its installs and failures.