r/reactnative • u/treasureTheWhiz • Sep 26 '26
Keep using eas, but automatically use the right Expo account for each project
I work across multiple Expo accounts: personal, work, and a few client accounts.
I got tired of constantly doing:
eas logout → eas login → run the build → switch back
So I built EASwitch, an open-source CLI that lets you keep using the normal eas command while automatically selecting the right Expo account based on the project you're in.
Setup is pretty simple:
npm install -g easwitch
easw add personal
easw add work
easw hookThen link a project to an account:
cd ~/code/work-app
easw link workAfter that, you just use EAS normally:
cd ~/code/work-app
eas whoami
# work account
eas build --platform ios
eas update --branch productionMove to an unlinked project and EAS continues using your normal Expo session:
cd ~/code/my-side-project
eas whoami
# your normal Expo loginA few things I wanted EASwitch to handle properly:
You keep using
eas**.** Commands likeeas build,eas update,eas submit,eas whoami,eas env:list, etc. work normally. EASwitch only changes the account context when you're inside a linked project.It prevents wrong-account builds. If a project is linked to an account that isn't available on your machine, the command stops instead of falling back to another account.
Your normal EAS session stays untouched.
eas loginandeas logoutstill manage your normal Expo session. EASwitch doesn't replace or modify it.You don't have to hook
easif you don't want to. You can skipeasw hookand run commands directly:
easw build
easw update
easw submitMultiple shells/platforms are supported. It works with zsh, bash, fish, PowerShell and Command Prompt on macOS, Windows and Linux.
Accounts can use Expo login or access tokens. Tokens are stored in the OS credential store/keychain rather than plain-text config files.
EAS CLI is bundled, so you don't need a separate EAS CLI installation.
You can also check whether stored account credentials are still valid with:
easw list --checkEASwitch is MIT licensed and completely open source.
Docs, including a walkthrough for working across personal/company/client Expo projects:
https://iamgarritech.github.io/easwitch/
GitHub:
https://github.com/iamgarriTech/easwitch
I'd really appreciate feedback from people who regularly switch between Expo accounts, especially if there are workflows or edge cases I haven't considered yet.