A fast, keyboard-friendly desktop Git client with a commit graph at its heart.
GitBolt is a graphical Git client inspired by GitKraken. If you've used GitKraken, it'll feel familiar on purpose: the lane graph down the middle, the branch and remote sidebar, the commit details on the right, and workflows driven from context menus and the keyboard. GitBolt is an independent project, not affiliated with or endorsed by GitKraken / Axosoft.
It's built with a Rust core (using gitoxide for most reads
and the git CLI for writes, so your hooks, config and credentials behave exactly as they do in a
terminal), a React UI, and Tauri with the Chromium (CEF) runtime.
Status: early (0.x). Usable day to day on Linux and Windows, and new on macOS; expect rough edges.
| Platform | Status |
|---|---|
| Linux | Supported: .deb and Arch Linux packages |
| Windows | Supported (10 and 11): an installer (per user) and an MSI (per machine) |
| macOS | Supported (12 or later, Apple Silicon): a .dmg. Intel Macs aren't built yet |
Download the package for your system from the latest release:
- Debian and Ubuntu:
sudo apt install ./GitBolt_<version>_amd64.deb - Arch Linux:
sudo pacman -U GitBolt-<version>-x86_64.pkg.tar.zst - Windows: run
GitBolt_<version>_x64-setup.exe(installs for you, no administrator rights) orGitBolt_<version>_x64.msi(installs for all users). They aren't code-signed yet, so Windows SmartScreen warns the first time: More info › Run anyway. - macOS (Apple Silicon): open
GitBolt_<version>_aarch64.dmgand drag GitBolt to Applications. The app is ad-hoc signed, not signed with an Apple Developer ID or notarized, so the first launch is blocked ("Apple could not verify…"). Either runxattr -dr com.apple.quarantine /Applications/GitBolt.apponce, or try to open it, then go to System Settings › Privacy & Security and click Open Anyway.
GitBolt needs Git 2.40 or newer on your PATH (on Windows,
Git for Windows; on macOS, Xcode's command line tools or Homebrew's
git). SHA256SUMS in each release lists the files'
checksums. After that, GitBolt updates itself (see Updates).
- Rendered Markdown diffs. Read a changed
.mdfile as rendered Markdown, inline or side by side, with the changed words highlighted. GitKraken renders Markdown in its file viewer, but not in diffs. - Undo history. Each worktree keeps a journal of its last 50 operations, and it survives restarts: commits and amends, checkouts, branch and tag changes, merges, rebases, cherry-picks, reverts, resets, stashes, discards and pulls. Staging has its own undo too. GitKraken undoes the last action only.
- Interactive rebase. Besides pick, reword, squash and drop, GitBolt has fixup and edit (the rebase stops so you can amend that commit), predicts which commits will conflict before you start, and lets you move, add or delete branches on the rewritten commits in the same step.
- Stacked MRs on GitLab too. Create a whole stack of merge or pull requests at once, push and rebase the stack, and have the next one retargeted after a merge, on GitHub and GitLab (self-managed included). GitKraken's stacked pull requests work with GitHub.com only.
- Automatic trunk pinning. The graph keeps your main branch in the leftmost lane without being asked: the local branch that tracks the upstream's default branch, or in a fork, the original project's rather than your fork's.
- Image diff modes: side by side, swipe, onion skin and a pixel difference view, all with zoom.
- Free and MIT licensed, private repos included. No account and no telemetry. GitKraken's free plan covers local and public repos; private repos, multiple profiles and self-hosted forges need a paid plan.
✅ yes, 🟡 partly, ❌ no.
| GitKraken | GitBolt | |
|---|---|---|
| Commit graph with lanes, branch/tag chips and avatars | ✅ | ✅ |
| Main branch pinned to the left | 🟡 When you pin one | ✅ Automatic, fork-aware; can be changed or turned off |
| Tabs, multiple repos, worktrees | ✅ | ✅ |
| Staging files, hunks and lines | ✅ | ✅ |
| Undo / redo | 🟡 Last action only | ✅ Last 50 operations, across restarts |
| Branches, tags, stashes, cherry-pick, revert, reset | ✅ | ✅ |
| Merge and rebase | ✅ | ✅ |
| Interactive rebase | 🟡 Pick, reword, squash, drop | ✅ Also fixup, edit, conflict prediction and branch moves |
| Merge conflict tool with an editable result | ✅ | ✅ |
| Push, pull, fetch, remotes, adding a fork as a remote | ✅ | ✅ |
| Diffs: inline, split, hunk, word-level | ✅ | ✅ |
| Image diffs | 🟡 | ✅ Side by side, swipe, onion skin, difference |
| File history and blame | ✅ | ✅ |
| Rendered Markdown | 🟡 Files only | ✅ Files, diffs and MR/PR threads |
| Pull/merge requests: list, view, create, comment, approve, merge | ✅ | ✅ Also auto-merge (merge when the checks pass) |
| Inline code review comments | ✅ GitHub | 🟡 Shown, but you can't add new ones yet |
| Stacked pull/merge requests | 🟡 GitHub.com only | ✅ GitHub and GitLab |
| Forges | GitHub, GitLab, Bitbucket, Azure DevOps; self-hosted on paid plans | GitHub.com and GitLab, including self-managed |
| Commit signing | ✅ | ✅ Through your git config |
| Signature verification | ✅ | ✅ |
| Command palette and keyboard shortcuts | ✅ | ✅ Every one listed in Help › Keyboard shortcuts (Ctrl+/) |
| Themes | ✅ | ✅ Ten built in, with per-lane graph colours |
| Profiles | ✅ Multiple on paid plans | ✅ |
| Hide and solo branches | ✅ | ❌ |
| Submodules | ✅ | 🟡 Changes shown, no submodule commands |
| Git LFS | ✅ | ❌ |
| Git Flow | ✅ | ❌ |
| Integrated terminal | ✅ | ❌ |
| AI commit messages and summaries | ✅ | ❌ |
| Issue trackers (Jira, Trello, …) | ✅ | ❌ |
| Cloud workspaces and team features | ✅ | ❌ |
| Windows and macOS | ✅ | ✅ (macOS: Apple Silicon only) |
| License | Proprietary; free for local and public repos | MIT |
- Planned: Forgejo, and adding inline review comments.
- Not there yet: Intel Macs, Git LFS, Git Flow, submodule commands, and hiding or soloing branches.
- Not planned: an integrated terminal, AI features, issue tracker integrations, and Bitbucket, Azure DevOps or GitHub Enterprise Server support. Use the tools you already have for those.
GitBolt checks GitHub for a new release at startup and once a day. When there is one, a pill at
the bottom right says Update to 0.3.0: a click downloads the package for how you installed
GitBolt (the .deb or the Arch package), and GitBolt checks it against the release's
SHA256SUMS before offering Install. The install asks for your password through your
desktop's polkit prompt (pkexec apt install or pkexec pacman -U); then Restart GitBolt
starts the new version. If it can't ask, it shows the command to run in a terminal. On Arch you
can say you use an AUR helper instead, and it shows that command. On Windows, Install starts
the installer you installed with (the setup .exe or the .msi) and GitBolt closes so it can be
replaced. On macOS, Install copies the new GitBolt.app from the .dmg over the one you run
(no password), then Restart GitBolt; if GitBolt can't write to its folder, it says to open the
.dmg and drag GitBolt to Applications yourself. A build from source only links to the release
page.
Help › Check for updates checks at once. Settings › Updates turns the automatic check off, or includes pre-releases. PRIVACY.md says what the check sends, and SECURITY.md how a download is verified.
Requirements: a stable Rust toolchain (1.95 or newer, as Tauri 3 requires), Node.js and npm, just,
and the Tauri CLI at the version the build expects:
cargo install tauri-cli --version =3.0.0-alpha.4 --lockedThen:
cd ui && npm ci && cd ..
just dev # run in development mode
just package # build the .deb (and `just package-arch` for Arch Linux)
just package-windows # on Windows: the installer and the MSI (see docs/dev-setup.md)
just package-macos # on a Mac: the .dmg
just test # Rust and UI unit tests
just e2e # end-to-end tests (Playwright)See docs/dev-setup.md for the full setup, including Chromium's sandbox helper.
- ARCHITECTURE.md: how the pieces fit together
- CONTRIBUTING.md: how to contribute
- SECURITY.md: reporting a vulnerability
- PRIVACY.md: what GitBolt stores and sends
- CHANGELOG.md: what changed in each release
- docs/dev-setup.md: the full development setup
- docs/decisions/cef-over-webkitgtk.md: why GitBolt runs on CEF rather than WebKitGTK
- docs/licensing.md: licensing details
GitKraken is a trademark of Axosoft, LLC. It's mentioned here only to describe GitBolt's inspiration and to compare features.
