Switch between accounts you belong to

If you belong to more than one company on the platform, the brand block becomes a switcher that lands you on the other account at the same screen you were on.

What it is

A sidebar control that appears only when the signed-in user has more than one active membership. Choosing an account navigates to that account's address — its subdomain, or its verified custom domain — carrying the current view so the destination opens where you left off. On the way, the browser cache boundary purges anything from the previous account.

Also called: multiple companies · account switcher · two businesses one login · switch sub-account

See it
Switch between accounts you belong to
Area
Platform & Admin
Group
Tenancy & isolation
System
Multi-Tenancy & Identity
Solves
3 named problems
01The bootstrap endpoint returns the user's memberships, resolved to names and slugs, filtered to active accounts.
02The switcher renders only when there is another account to go to.
03Production navigates straight to <slug>.<root>/app carrying the current view hash.
The sidebar brand block expanded into a list of accounts with names and slugs. src/components/layout/Sidebar.tsx. Sample data — no customer information appears here.
How it works
  1. 1The bootstrap endpoint returns the user's memberships, resolved to names and slugs, filtered to active accounts.
  2. 2The switcher renders only when there is another account to go to.
  3. 3Production navigates straight to <slug>.<root>/app carrying the current view hash.
  4. 4The current hash route rides along so the destination lands on the same screen.
  5. 5Arriving triggers the cache purge and the acting-account reconciliation.
Why we built it

The URL construction carries an explicit bug note dated 08-01: the earlier version read `host` rather than `hostname`, and since host already includes the port, the code appended it twice, 'producing barnhouse.localhost:3030:3030, which is not a parseable URL, so the assignment to location.href was discarded and the click did nothing at all.' Carrying the view is a separate request (Keith 08-02): 'Settings › Automations here means Settings › Automations there.' Since a hash never reaches a server, it is passed as a query parameter and restored on arrival. And the destination is /app rather than / because 'the apex root serves the MARKETING site on every host now.'

The problem
  • One person working across two companies needed two logins.
  • Switching lost your place and dropped you on a landing page.
  • A malformed destination URL made the control silently do nothing.
Sound familiar?
What you get
One login covers every account you belong to.
You land on the same screen in the other account.
The previous account's cached data is purged on arrival.
What's inside

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →