Gitbox Logo

If you use AI agents or do vibe coding, you know how fast repositories pile up across different accounts and providers. A personal GitHub, a work one, maybe even a home server running Forgejo… and suddenly you have dozens of repos cloned under the wrong identity, crossed credentials, and a monumental mess.

That’s exactly what happened to someone very close to me, a non-technical person who’s building lots of “projects” with agentic AI and, like anyone just starting out with Git for versioning and backups, is going crazy.

I built Gitbox, a desktop app to manage multiple accounts and clones in a simple way, without them stepping on each other. It’s designed for “non-developers”, but if you’re a developer it may be useful too; I use it every day on all my machines.


Gitbox architecture: providers, the desktop app, and local clones
Architecture: providers, app, and clones.

The problem

Anyone who works with Git across several contexts has run into this:

  • You clone a work repo with your personal account and the commits go out with the wrong email.
  • You have tokens and credentials from three different providers and can’t remember which is which.
  • Every time you switch machines (or reinstall), you have to reconfigure everything from scratch.
  • With the rise of vibe coding and AI agents, the number of repos you handle multiplies and the problem gets worse.

The root of the problem is that Git wasn’t designed for non-developers. Its global configuration model (~/.gitconfig) assumes you’re a single person, with a single email and a single authentication method. It can handle multiple accounts and users, but you need to be technical to avoid getting lost.

What is Gitbox

Gitbox is a cross-platform desktop app (Windows, macOS, and Linux) that orchestrates the lifecycle of your Git accounts and spares you their complexity. It works with GitHub, GitLab, Gitea, Forgejo, and Bitbucket. Everything is a click away: one card per account, sync rings, and guided forms.

It doesn’t reimplement Git; it drives the git, ssh, and Git Credential Manager you already have installed. Under the hood there’s a Go engine, the configuration lives in ~/.config/gitbox/gitbox.json, and secrets go to the operating system’s keyring.

Gitbox showing three accounts with their sync rings and the status of each clone
Three accounts, each with its clones and their sync status.

Here’s what it does:

  • Isolated accounts — each account has its own identity (name, email) and credential (GCM, SSH, or Token), completely separate from the others. Each account card tells you in green, orange, or red whether the credential works.
  • Automatic discovery — once you add an account, it connects to the provider and lists all your repos so you can pick which ones to download (clone).
  • Smart cloning — each repo is cloned with the right identity into an organized folder structure (by default ~/00.git/[account]/[org]/[repo]). Inside each clone, the .git/config file is set up with its own credentials, so nothing gets crossed.
  • Fleet status — with 10 or 20 clones you never know which ones are up to date. Gitbox shows at a glance which are synced, behind, ahead, with local changes, or not cloned yet, plus their open pull requests and pending reviews.
  • Safe sync — it fetches everything and pulls in fast-forward mode only, the safest one. If a repo has conflicts or local changes, it leaves it alone.
  • Mirrors and moves — copies across providers for backups, and a guided flow to move a repo to another account or provider.
  • Launchers — open any clone in your terminal, editor, file manager, or AI agent (Claude Code, Codex, …), and open existing VS Code workspaces.
  • Clones anywhere — adopt clones that live outside the standard structure, even repos nested inside a multi-repo container.
  • Self-healing setup — it checks that you have the tools it needs, offers one-click fixes for global git settings that cause cryptic failures, and keeps dated backups of the configuration.
  • Hands-off management — Gitbox never runs add, commit, or push for you. It only manages the infrastructure: which accounts you have and what you’ve cloned, each with its credentials in the right place.

Installation

An important warning first, taken from the project’s own README:

Warning

Gitbox is not signed or notarized. The binaries have no code signature, so macOS Gatekeeper, Windows SmartScreen, and similar protections will flag them as suspicious. The DMG installer and the install script clear these flags automatically (xattr -cr on macOS, Unblock-File on Windows) so they can run. By doing so you are explicitly trusting unsigned code. I recommend auditing the source code and the install script before running anything, or building it yourself. The project is open source under the MIT license.

From the latest release page, download the installer for your platform:

PlatformDownloadHow to install
Windowsgitbox-win-amd64-setup.exeRun it. Installs GitboxApp.exe in Program Files with Start Menu shortcuts
macOSgitbox-macos-arm64.dmg / gitbox-macos-amd64.dmgOpen the DMG and run bash "/Volumes/gitbox/Install Gitbox.command" from Terminal
Linuxgitbox-x86_64.AppImagechmod +x and run it. It’s self-contained, bundling GTK 3 and WebKitGTK

If you prefer the terminal, the install script downloads the latest release and installs it in one go (on Windows, from Git Bash). On Linux it also adds Gitbox to the applications menu:

bash <(curl -fsSL https://raw.githubusercontent.com/LuisPalacios/gitbox/main/scripts/bootstrap.sh)

The installer supports additional options; append --help to see them.

Once installed, the app checks once a day for a new version and shows a notice in its footer so you can update with one click.

Requirements:

  • Git 2.39+ - Installer for Windows (includes Git Bash), macOS, and Linux.
  • Git Credential Manager. Highly recommended for GCM-type credentials.
  • On macOS it’s important to use a better version than the one bundled with the system. I recommend having Homebrew and installing Git and GCM (brew install git and brew install --cask git-credential-manager).

If anything is missing, Settings → System check tells you, along with the exact command to install it on your operating system.

Getting started

The flow is very straightforward:

  1. Root folder — on first launch you choose where your projects will live, for example ~/00.git or C:\repos.
  2. Add accounts — the + card registers each account: provider, URL, username, name and email for commits, and credential type. For GCM the browser opens so you can sign in, for Token the app tells you which URL to visit and which scopes to tick, and for SSH it generates the key pair and gives you the link to register the public key.
  3. Find projects — on the account card it lists the provider’s repos; pick the ones you want and Add & Pull clones them with the right identity.
  4. Day to day — the Fetch All and Pull All buttons in the top bar check and update everything at once, and you can enable a periodic fetch every 5, 15, or 30 minutes from Settings.

Mirrors and backups

A feature I consider key is the ability to create mirrors between providers, both push and pull. I use it between my self-hosted server (Forgejo) and GitHub.

This creates automatic backups on the other provider. If tomorrow GitHub decides to change its terms, or I simply want redundancy, my repos are safe. Mirroring is fully automated on Gitea, Forgejo, and GitLab; for GitHub and Bitbucket Gitbox shows you the manual steps.

What about servers without a desktop?

Gitbox is a desktop app only. If you need something command-line for a headless server, version 1.x included a CLI and a TUI; it’s still available on the release/v1 branch, with critical fixes only. The install script with --cli-only installs it, and it reads the same gitbox.json.

Conclusion

If you work with multiple Git accounts — whether because you have personal and professional projects, or because the vibe coding explosion with AI agents has filled your machine with repos across different providers — Gitbox saves you hours of manual setup and identity mistakes. I use it every day, and it’s liberating not having to think about credentials every time I clone something.