Runway
Runway is built and operated in the EU!
<- the latest

June 2026 Updates - UI, async deployments, and a better status

Posted by: Till Klampaeckel
2 July 2026

June was mostly about polish — a lot of UI improvements, a few CLI and MCP fixes, and a rework of how we report an app’s status. Deployments also moved to fully async under the hood, which unlocks a few things we’ll talk about in the coming months.

UI Updates

We shipped a batch of dashboard improvements this month.

Registry management is now available end-to-end in the account section — no need to jump to the CLI to configure a private registry.

Runway UI: Registry management

All app domains (public and internal) now show their routing status more prominently, and disabled routes are clearly marked as such. The same view is now available for the private domains for services too.

Runway UI: Routing status on internal domains

On the app details page, we surface the Tailscale status for both apps and services, and show whether an app is in lockdown mode - highly recommended).

Runway UI: App details with lockdown and Tailscale status

Last but not least: configuration is now editable directly in the UI. Just remember to restart your app after making changes.

MCP

The MCP server relies on the CLI login. One of our customers ran into a bug where the logged-in status wasn’t always obvious, which sent the agent off hallucinating a bunch of things.

The new Runway CLI (which ships our MCP server) fixes that:

runway selfupdate

CLI

In a CI/CD context, redeploying an app with no changes no longer fails with “already up to date” so your workflows can progress.

Interactive runs still error out — that’s on purpose.

Deployments

Deployments are now fully asynchronous. This change requires clients (such as the CLI) to poll instead of the server blocking:

runway selfupdate

Asynchronous deployments pave the way for new features (different deploy sources, different authentication mechanisms) we’ve been planning. Stay tuned.

Status

App status should be transparent, so we reworked it — more granular, and a lot zippier. The following states are now supported:

status description
not deployed new app
build pending initial runway app deploy
building via Buildpacks or buildkit
deploying app rollout has started
running the app is running (everyone’s happy)
restarting the user restarted the app
crashing the app is crashing (Runway will restart)
crashed the app crashed (no more attempts are made)
stopped the app was stopped

Bug fixes and a word on AI

We also had to pull a few experiments out of our API because AI is a nosy bugger and kept discovering values that are still feature-flagged and in ideation.

For example: it would try to apply values for memory and CPU (something we’re casually experimenting with) — while apparently forgetting the app upgrade tool exists. Thanks for that.

The amount of AI hallucination is generally wild. Once agents are set on a path forward, they’re often too stubborn to be redirected and while we try to accommodate what agents come up with where we can, but we obviously can’t please every silly idea. So: be careful out there.

FIN

That’s it for June. As always, give the new bits a spin and let us know what you think — and if you’re new here: Runway runs your apps and managed databases, hosted entirely in the EU.