Skip to content

Ship Flutter fixes in minutes, not weeks.

Shorebird delivers Dart updates over the air to your Flutter apps, so a fix reaches your users on their next launch.

Free for 5,000 patch installs a month · Set up in minutes

An animation of a patch rolling out across a fleet of devices running your app.

One command publishes the patch. The console tracks the rollout, and the app picks it up on its next launch.

~/sandpiper

$ shorebird patch ios

✓ Extracting release artifact

✓ Generating patch diff base

 

🚀 Ready to publish a new patch!

📱 App: Sandpiper (6b1d2f4e-0c7a-4e2f-9a8b-1d2c3e4f5a6b)

📦 Release Version: 1.14.0+15

🕹️ Platform: iOS [arm64 (1.2 MB)]

🟢 Track: Stable

 

✓ Creating patch

✓ Uploading artifacts

✅ Published Patch 3!

Teams shipping with Shorebird

Your fix is done. Your users still have the bug.

A new version reaches users only as they update. A patch reaches the version they already have, on their next launch.

Fix via a store release

as users update

  1. Build
  2. Release
  3. Users update over time

Fix via Shorebird

next launch

  1. shorebird patch
  2. ✓ Downloaded on next launch, live on the one after

Update any part of your app written in Dart.

Fix a bug, change a screen, swap a Dart package or point at a new backend. Anything written in Dart ships as a patch.

Change any Dart code

Logic, UI, packages and endpoints. Works with the app and workflow you have, with no changes to your code.

lib/checkout/checkout_service.dart
Future<Cart> checkout(Cart cart) async {
Removed: final total = cart.items.fold(0, (a, i) => a + i.price);
Added: final total = cart.items.fold<int>(
Added: 0, (a, i) => a + i.price * i.quantity,
Added: );
if (total <= 0) {
Removed: throw StateError('Empty cart');
Added: return cart.copyWith(error: CartError.empty);
}
return payments.charge(cart, total);
}

Every platform. Follows store rules.

Ship the same fix to Android, iOS, macOS, Windows and Linux, designed for App Store and Google Play compliance. Store FAQ

  • Android
  • iOS
  • macOS
  • Windows
  • Linux

Watch it land in Mission Control

Rollout status, patch coverage and adoption in one view, live as devices pick up the patch.

Meet Mission Control
console.shorebird.dev · sandpiper
Mission Control in the Shorebird console: a release rolling out to devices, patch coverage, monthly active users, and the share of users on each version.

Stage it on a track

Test on staging, beta or any track you name before it reaches everyone.

  1. staging Verified
  2. beta Verified
  3. stable Rolling out

Automatic fallback

A patch that fails to load falls back to the last working version.

  1. Patch 4 Automatically rolled back
  2. Patch 3 Running

Roll back from the console

If anything looks wrong, take the patch back.

  1. Patch 4 · stable Roll back
  2. Patch 3 · stable Previous patch

What customers say

“Shorebird is our only firefighting tool. Whenever anything goes wrong, we call Shorebird and we patch it as soon as we can.”
Abhilash Mishra, Engineer, Scapia — Travel fintech, India Read the Scapia story
  • Same day fixes on Android and iOS, for millions of users Scapia Travel fintech, India
  • Hours to ship a critical hotfix, down from several days VETC Electronic toll collection, Vietnam
  • 1,500+ white-labeled apps maintained through Shorebird PushPress Software for gym owners
  • 2M+ patch installs a month, for 1M+ daily players Junglee Games Rummy, poker and fantasy sports

Your CI can ship patches. So can your agent.

Release and patch from your CI pipeline or a coding agent, with nobody at the keyboard.

Ship patches from your agent
ci · release-pipeline

$ shorebird releases list --json

{"status":"success","data":{"releases":[{…,"version":"1.14.0+15",…}]},"meta":{…}}

$ shorebird patch android --json

{"status":"success","data":{"app_id":…,"track":"stable","patches":[{…,"patch_number":4,…}]},"meta":{…}}

Private and secure.

Your code and your users stay yours, and a security fix reaches devices on their next launch.

We never see your source code
Only compiled builds (release archives and patches) and the metadata to deliver them reach us.
Nothing about who your users are
Your app sends only what delivering patches and counting active installs needs: no names, accounts, device identifiers or location.
Your app runs only your patches
New releases are signed by default, so your app runs only patches signed for it. Bring your own key if you prefer.
Ready for larger teams
SAML single sign-on, audit logs and invoice billing.

Common questions

Eric Seidel

Built by the people who made Flutter

Shorebird was founded in 2023 by Eric Seidel, the creator of Flutter, and is backed by Accel.

About the team
How does Shorebird relate to Flutter?

Shorebird is a fork of Flutter that adds Code Push: it replaces the Flutter engine, not Flutter, so you keep the Flutter tooling you already use.

Is Code Push allowed by the App Store and Google Play?

Yes. Code Push works within App Store and Google Play guidelines: your app's native shell goes through normal store review, and patches must not change the app's primary purpose (Apple Developer Program License Agreement section 3.3.1(B)). See the store compliance FAQ.

What can a patch change?

Any Dart code: fix a bug, add or remove a Dart package, point at a different backend. Native code and assets are out of reach, so changes to build files like build.gradle or Podfile, a plugin's native code, app permissions, or images and fonts in pubspec.yaml need a new store release. The CLI warns you if it detects native or asset changes when you patch.

How do patches reach my users?

Your app checks for a patch when it launches, then downloads and installs it in the background without interrupting the user. It takes effect on the next launch. If a patch ever fails to load on a device, the app falls back to the last version that worked.

Which platforms are supported?

Android, iOS, macOS, Windows and Linux. Adding Shorebird requires no changes to your app code.

Can I self-host Shorebird?

No. Shorebird has no plans to offer on-prem, self-hosted or cloud-prem versions. We are happy to talk through how the hosted service can meet your requirements.

Ship your first patch today.

Install the CLI, create a release and send a patch. Free for 5,000 patch installs a month.

Larger team? Talk to sales