// docs
Get started

Installation

Install gitswitch on macOS or Linux

gitswitch is a single Go binary. macOS and Linux, Intel and Apple Silicon/ARM.

Homebrew

brew install aksisonline/tap/gitswitch

Recommended — it handles PATH, updates, and uninstall cleanly.

brew upgrade gitswitch   # later

curl

curl -fsSL https://raw.githubusercontent.com/aksisonline/gitswitch/main/.github/install.sh | bash

Downloads the right binary for your OS and architecture into /usr/local/bin. Upgrade later with gitswitch upgrade.

Go

go install github.com/aksisonline/gitswitch@latest

Requires Go 1.21+.

From source

git clone https://github.com/aksisonline/gitswitch
cd gitswitch
make install

Check it worked

gitswitch version
gitswitch v0.3.0
Already on latest version.

What you need installed

gitRequired. Missing? The first time you run bare gitswitch on a machine with no profiles yet, it offers to install it for you — no separate step needed.
gh (GitHub CLI)Optional, but recommended. gitswitch works fine without it — but HTTPS push routing and Session Isolation get their tokens from gh, so those two features install but stay inert until gh is set up. That first-run check offers to install it too.

Check both at any time:

gitswitch doctor

Run it

gitswitch

That's the whole "then set it up" step — first run on a machine with no profiles checks for git/gh and offers to install what's missing, then opens a short wizard that gets you a working account.

Want shell integration too (prompt segment, nudges, HTTPS push routing, Session Isolation)? That's a separate, optional step:

gitswitch shell

Everything is opt-out, defaults are sensible, and it's safe to re-run. See Shell Integration.

Then head to the Quick Start.

Staying up to date

gitswitch version    # what am I on? is there anything newer?
gitswitch upgrade    # get it

gitswitch also tells you inside the TUI when a new release lands, and shows a "What's New" screen after a feature release. Want the pre-release builds? See Release Channels.

Uninstall

gitswitch uninstall            # remove shell integration, HTTPS routing, gh wrapper
brew uninstall gitswitch       # then remove the binary
rm -rf ~/.config/gitswitch     # and your profiles, if you're sure

On this page