gum v1.1.0 — Now with arrow-key menus

Switch Git identities
in one command.

GUM is a tiny CLI that manages multiple Git accounts, SSH keys, and configs — like nvm, but for your Git identities.

or install via
~ — gum — bash

                    

The daily pain

Every developer with multiple Git accounts knows this dance.

😤

Without gum

# Switching to work account...
git config --global user.name "zhangsan"
git config --global user.email "zhangsan@corp.com"
# Edit ~/.ssh/config manually...
ssh-add ~/.ssh/work_key
# 😤 Repeat every. single. day.

With gum

# Morning
gum use work
✓ Switched to work
# Evening
gum use home
✓ Switched to home

Everything you need

Built for developers who care about their workflow.

One-command switching

gum use work or gum use home — all your Git config and SSH keys swap instantly.

🔍

Smart SSH detection

Auto-reads your existing ~/.ssh/config so you don't have to retype anything.

🔑

Auto key generation

Generates ed25519 SSH keys for new identities. Public key shown for instant copy-paste.

🛡️

Non-destructive

Your existing SSH config is never touched. gum manages its blocks via marker comments.

📁

Per-repo override

Use a different identity for a single repo with --local. Global stays untouched.

⌨️

Interactive UI

Arrow keys, vim bindings (j/k), or numbers — choose your preferred input style.

Install in seconds

Pick your platform.

$ curl -fsSL https://raw.githubusercontent.com/ziyifast/gum/main/packaging/install-remote.sh | bash

Works on macOS, Linux, and WSL.

$ brew install ziyifast/tap/gum

macOS / Linux. Auto-updates with brew upgrade.

$ wget https://github.com/ziyifast/gum/releases/latest/download/gum_1.1.0_all.deb
$ sudo dpkg -i gum_1.1.0_all.deb

Debian / Ubuntu / Mint. View releases

> scoop bucket add ziyifast https://github.com/ziyifast/gum
> scoop install gum

Windows. Requires Git for Windows (provides Git Bash).

$ git clone https://github.com/ziyifast/gum.git
$ cd gum && sudo make install

Build from source. Or use bash install.sh for user-local install.

See it in action

A complete workflow, zero friction.

~ — gum init
  GUM Quick Setup
  ─────────────────────────────────────────

  Default profiles: work home

  Profile names: (↑/↓ select, Enter confirm)

    ❯ Use defaults: work home
      Custom profile names

  ─────────────────────────────────────────
  Configure: work

  [work] Git user.name: zhangsan
  [work] Git user.email: zhangsan@corp.com

  Found existing SSH configs:
    github.com (key: ~/.ssh/id_rsa_personal)
    ❯ git.corp.com (key: ~/.ssh/id_rsa_work)
    Generate new SSH key

  ✓ Profile 'work' created!

  ✓ Setup complete! Created 2 profile(s).

Why gum?

A focused tool that does one thing extremely well.

🎯

Zero dependencies

Pure Bash. No Node, no Python, no compiled binary. Works everywhere bash works.

< 50KB

Small footprint

A single file. You can read every line in 20 minutes.

🔓

Open source

MIT licensed. No telemetry, no analytics, no surprises.

Ready to stop the dance?

Install gum in 5 seconds and never type git config --global again.

$ curl -fsSL https://raw.githubusercontent.com/ziyifast/gum/main/packaging/install-remote.sh | bash