Skip to main content
Free · Multi-host · Apple Silicon + Windows

Every repo remembers
its own account.

Bind a repo to an account on GitHub.com and GitLab once. Every commit and push goes out as the right you — until you rebind it.

Scroll

The problem

The wrong author, on the wrong repo

Work, personal, clients — all in the same week. Juggling identities with .gitconfig hacks, SSH key aliases and browser profiles ends the same way: a commit lands under the wrong name.

HydraTree makes identity a property of the repository, not the machine. Bind once on GitHub.com and GitLab, and the right account is used for everything until you change it.

How it works

Three moves, then it's automatic

01

Sign in to your accounts

Connect GitHub.com accounts with OAuth and GitLab hosts with a PAT. Label each one — personal, work, client-a. One expired account never breaks the others.

02

Bind each repo once

When you clone or add a repo, it binds to one account and wears its badge. The binding holds until you rebind it in Settings → Repository.

03

Commit as the right you

Commit author and push credential follow the repo's bound account — no per-machine .gitconfig swaps to keep identities straight. (Pushes over SSH use your own SSH keys; use an HTTPS remote to push as the bound account.)

What's inside

A full Git client, multi-account aware

Multi-account aware workflow so every commit goes out as the right you across GitHub.com and GitLab.

Accounts

Many accounts, signed in at once

GitHub.com and GitLab accounts stay authenticated side by side, each with its own label and badge. An expired token flags just that account.

Binding

Every repo keeps its account

Each repository binds to one account on GitHub.com and GitLab. The binding survives switching repos, and HydraTree never silently rebinds behind your back.

Guardrails

Blocked before a bad push

HydraTree refreshes account and repo permissions on launch. Commit and push are blocked when the bound account is missing or needs re-authentication. Push is also blocked when the remote reports no access.

Workflow

A GitHub Desktop–inspired flow

A single Changes list with per-file commit selection, branches, history and diffs, plus fetch, pull and push. GitHub pull requests open in-app; GitLab merge requests open in your browser.

Worktrees

Branch out with worktrees

View, create and switch worktrees from any branch. Each one inherits its parent repository's bound account automatically.

Desktop

Apple Silicon & Windows

One cross-platform desktop app for Apple Silicon and Windows x64. Installed desktop builds check GitHub Releases for updates. Windows installs the update in the app; on macOS HydraTree tells you a new version is out, and you update with Homebrew or by downloading it.

Unlike typical Git clients

Built for multi-everything

Most desktop Git apps assume one signed-in identity. HydraTree is built for people who live across accounts, hosts, and parallel worktrees.

01

Many accounts, one app

Stay signed into personal, work, and client accounts at once — GitHub.com via OAuth (optional PAT) and GitLab.com or self-hosted GitLab (HTTPS) via PAT. Switch repos without logging out of everything else.

02

Per-repo identity binding

Each repository remembers its own account for commit author and push credential. The binding survives branch switches and repo switches; HydraTree never silently rebinds behind your back.

03

Push guardrails that actually block

Commit and push are blocked when the bound account is missing or needs re-authentication. Push is also blocked when the remote reports no access.

04

Worktrees that inherit the binding

Create and switch worktrees from any branch. Each worktree keeps the parent repository's bound account — so parallel work still commits as the right you.

05

Cross-host repository migration (experimental)

Off by default; turn it on in Settings → Beta features. It copies a repository's branches and tags to another GitHub or GitLab account in one guided flow, with a preview of every branch it would change. It has not been validated against live hosts yet, so use it only on repositories you can afford to lose: destination branches and tags may be replaced or deleted. Pull requests, issues and other host data stay where they are.

06

Multi-host workflow, not GitHub-only

GitHub pull requests open in-app; GitLab merge requests open in the browser. One desktop client for both hosts instead of juggling separate tools and browser profiles.