Folders that switch who you are in Terminal
Client work in ~/clients/acme, your own projects everywhere else: with a folder bound to a Parallex workspace, Terminal switches identity as you cd. Inside the folder, git commits with the workspace's name and email, gh, cloud and cluster tools use its sign-ins, and Claude Code and Codex its accounts. Leave, and your own come back. Your home folder, shell settings and files stay the same. Part of Parallex Pro: $9.99 once, for up to 5 Macs. The 14-day free trial includes it, on every Mac, with no card.
Facts about other apps checked against their own sites on October 6, 2026.
Set it up
- Bind the folder to a workspace:
parallex bind ~/work Acme. If the workspace doesn't have an identity for your tools yet, this gives it one: its git settings start as yours, and its gh, cloud and cluster sign-ins start empty. - For Claude Code and Codex too, give the identity its own:
parallex workspace persona Acme --item .claude --item .codex. Add--share-setup onto bring your CLAUDE.md, skills and plugins. - Add the hook to the end of your shell's settings, once (the lines are below). Settings › Folders in the app shows them too, and binds folders without Terminal.
- Open a new terminal,
cd ~/work, and sign in once as the workspace:git config --global user.email you@acme.com,gh auth login --insecure-storage(keeping its token in its own gh config), and/loginin Claude Code.
The hook lines
# zsh, at the end of ~/.zshrc
eval "$(parallex hook zsh)"
# bash, at the end of ~/.bash_profile or ~/.bashrc
eval "$(parallex hook bash)"
# fish, at the end of ~/.config/fish/config.fish
parallex hook fish | source
Add --prompt to the hook line (parallex hook zsh --prompt) and the workspace's name starts your prompt inside its folders. $PARALLEX_WORKSPACE names it either way. parallex bind --list lists the bound folders, and parallex bind --remove ~/work undoes one. Folders can be nested: the innermost one wins.
What changes inside the folder
| Tool | Inside a bound folder |
|---|---|
| git | GIT_CONFIG_GLOBAL, and the author and committer name and email when the workspace sets them |
| GitHub CLI (gh) | GH_CONFIG_DIR, with GH_TOKEN and GITHUB_TOKEN unset |
| AWS, Google Cloud, Kubernetes | AWS_CONFIG_FILE and AWS_SHARED_CREDENTIALS_FILE, CLOUDSDK_CONFIG, KUBECONFIG, with AWS_PROFILE and their key variables unset |
| npm, netrc | NPM_CONFIG_USERCONFIG, NETRC |
| Claude Code, Codex | CLAUDE_CONFIG_DIR, CODEX_HOME (when the identity keeps .claude and .codex its own) |
| Network | HTTP_PROXY, HTTPS_PROXY and ALL_PROXY, when the workspace has a proxy |
Leaving the folder puts back exactly what you had, including variables you'd set yourself. The hook rereads the list of folders only when it changes, and asks Parallex for a workspace's settings only when you move into another bound folder, never over the network.
Good to know
- SSH reads
~/.sshfrom your account, whatever the variables say. To push with another key, setcore.sshCommandin the workspace's git config, with-o IdentitiesOnly=yes. - gh keeps tokens in your login keychain by default, where a sign-in as the workspace can replace your own.
gh auth login --insecure-storagekeeps the workspace's in its own config. - Variables you export in
~/.zshrcafter the hook line win in a terminal that opens inside a bound folder. Add the hook at the end of the file, as Settings › Folders says. - Without Pro, when the trial is over, the folders stay bound but your own identity stays on in them, and the shell says so once.
Without Parallex
For git alone, git does it by itself: [includeIf "gitdir:~/work/"] in your ~/.gitconfig includes a file with the work name and email for repositories under ~/work. For a few variables, direnv sets them per folder from an .envrc. Parallex adds the identities themselves (each workspace's own gh, cloud and Claude Code sign-ins, made and kept for you), the same identity in the workspace's apps, and the variables that would point a tool back at yours, unset.
Questions
Does Claude Code really sign in to a different account in the folder?
Yes. Inside the folder CLAUDE_CONFIG_DIR points at the workspace's own config folder, and Claude Code keeps a separate sign-in in the keychain for each config folder, so claude there is the workspace's account and claude elsewhere is yours.
Does it change my files or my home folder?
No. HOME stays yours, and so do your shell settings and projects. Only the variables above change, and only in shells inside the bound folder.
Which shells work?
zsh, bash and fish, in any terminal: Terminal, iTerm, Ghostty, and the terminals in VS Code and Cursor.
Get Parallex
Try it free for 14 days, then a one-time purchase, for macOS 14 and later. In Terminal:
curl -fsSL https://parallex.mandip.dev/install | sh
Or download the disk image, or with Homebrew: brew install --cask mandipadk/parallex/parallex.