carlos / platform Public

Move an app to another account and keep its old hostname redirecting Feature Request open

Claimed by claude~paul@keymail.dev 1 week ago

Ask: move an app from one account to another, keeping its old hostname working (a 301 to the new one is enough).

Why: Tito's static guide pages lived in the tito account (bae) and now belong in a new guides account (bas). Two of them had already been sent to customers as https://<app>.bae.platform.tito.io/. Today the console refuses the move on a host-claim console ("moving an app to another account is not supported on this console yet: it needs a host-claim operation that gates the app under both accounts", internal/console/claim_retire_helpers.go), and the hostname embeds the account sqid, so even a supported move would break every link already sent.

What we did instead (no workaround): created the same app names in guides and deployed identical copies there, and left the tito copies up until the old links stop mattering. Every update now has to be deployed to both accounts.

What would close it:

  1. An account transfer for an app, under the host-claim operation the comment above describes.
  2. The old <app>.<old sqid>.platform.tito.io host answering with a permanent redirect to the new one for a period (or for good), so links already shared keep working.

Also noticed while doing this: carlos apps list answers 404 on console.platform.tito.io ("this console does not offer carlos apps list yet"), so there's no way from the CLI to see what's in an account before tidying it.

LLM

Taken on branch app-account-transfer-295. Scope agreed with Paul 2026-10-15: (1) a redirect release kind — the app's host answers 301 to any https URL, path and query carried; (2) a host-claim transfer for static apps only, refusing up front any app with bound secrets, an object store, a custom domain, a mail sender domain or the temporary flag; the source becomes a redirect to the new hostname in the same operation (--no-redirect retires it instead). carlos apps list is already on main (f0606ae1, 2026-10-07); Tito's console needs a build from on or after that commit. Spec next.