Every Supabase account, one terminal.
The Supabase CLI only remembers one login. sbx remembers all of them and switches to the right account when you cd into a project.
git clone https://github.com/m2ximus/supa-cli.git ~/supa-cli && ~/supa-cli/install.sh
Runs on macOS with zsh and the Supabase CLI. Everything installs and runs on your own machine.
Set it up
- Install
Paste the command above into Terminal, then open a new tab.
- Add each account
Run
sbx add workand paste an access token from your Supabase account page. Repeat for every account. - Use supabase as normal
In a linked project, sbx finds which of your accounts owns it. Run
sbx statusany time to see which one it picked.
Where your tokens go
- Into your Mac's Keychain, and nowhere else. No server, no account, nothing sent to this site.
- Only the supabase command is handed them. They're never written to files, printed, or passed to anything else you run.
- Only to api.supabase.com. The address is fixed in the code, so a project folder can't redirect your tokens elsewhere.
- Never to a project you don't own. If none of your accounts owns a folder's project, sbx doesn't guess.
The whole tool is one readable shell script. Read the source on GitHub.
Questions
What do I need first?
macOS 15 or later, zsh (the macOS default), git, and the Supabase CLI. You can install the CLI with brew install supabase/tap/supabase.
Where do I get a token?
Log in to Supabase as the account you want to add, open the access tokens page, click Generate new token, and copy it. It starts with sbp_.
I pasted my token and nothing appeared
That's intended. The prompt hides what you type. Paste once and press Enter.
How do I add a second account?
Log out of the Supabase dashboard, log in as the other account, make a token there, and run sbx add with a different name, like sbx add client-x.
"command not found", or supabase isn't switching accounts
Open a new terminal tab. The installer's changes only load in new tabs. If it still fails, check that ~/.local/bin is on your PATH.
How do I know which account was used?
Each supabase command first prints sbx → account (reason). Run sbx status in any folder to check without running anything.
It says "no account for this folder"
The folder isn't linked to a Supabase project and you haven't set a default. Run supabase link in the project, pin it with sbx pin name, or set a fallback with sbx default name.
It says "no saved account owns project"
None of your saved accounts can see that project. Add the account that owns it with sbx add, then try again.
It says "token rejected by Supabase API"
The token was mistyped or revoked, or you're offline. Make a new token and try again.
Is it safe to paste my token?
Only into the hidden sbx add prompt. Never paste tokens into chats, websites, issues or screenshots. You can revoke a token any time on the tokens page.
How do I remove an account or uninstall?
sbx remove name deletes that account's token from your Keychain. To uninstall, remove every account, delete the eval "$(sbx init zsh)" line from ~/.zshrc, then run rm ~/.local/bin/sbx && rm -rf ~/.config/sbx ~/supa-cli.
Does it work on Linux or Windows?
No. It relies on the macOS Keychain.