What's Wrong with Git GUIs
If you have used more than one Git GUI, you have probably noticed something: they all feel like they are solving the wrong problems. They add features, but the core frustrations never go away.
We have spent the last year talking to developers about their Git workflows. The same complaints come up over and over, regardless of which tool they use. Here are the three that stand out.
1. The Free Tier Is Never Really Free
Most Git GUIs advertise a free version. Then you clone a private repository and hit a paywall.
This is the reality for the most popular Git GUI on the market. Public repos work fine. The moment you switch to a private repo — which is most of what professional developers work on — you need a paid subscription. For a tool that wraps an open-source version control system, this feels wrong.
The argument from vendors is that private repo support requires server-side integration, OAuth flows, and provider-specific APIs. That is true. But these are solved problems. The engineering cost does not justify gating the most common use case behind a subscription.
Developers should not have to pay to use a GUI for their own private repositories. Private repos are the default for most teams, most companies, and most side projects. Treating them as a premium feature means treating the majority of real-world Git usage as an upsell opportunity.
2. The Apps Are Too Heavy
Open your system monitor while running a popular Git client. You will likely see 300 to 500 MB of RAM usage — sometimes more. That is because most Git GUIs are built on Electron, which bundles an entire Chromium browser inside the application.
For context, that is roughly the same memory footprint as running a separate Chrome window. Except this one just shows you a commit history and a diff view.
The install size tells a similar story. A typical Electron-based Git client weighs in at 150 to 200 MB on disk. That is not a lot by modern standards, but it is a lot for what the application actually does. A Git GUI reads files, shows diffs, and calls Git commands. It does not need a full browser engine to do that.
The performance cost is real too. On older machines, on laptops running on battery, or on systems where developers already have a browser, an IDE, a database, and a container runtime competing for resources — another Electron app is not free. It adds up.
The technology exists to build native-feeling desktop applications at a fraction of the size. The question is whether anyone is willing to use it.
3. They Are All Stuck on One Provider
GitHub Desktop only works with GitHub. That is fine if GitHub is all you use. But many developers work across multiple providers — GitLab at work, GitHub for open source, Gitea for self-hosted projects.
Other Git GUIs technically support multiple providers, but the experience is uneven. GitHub gets first-class integration. GitLab gets partial support. Gitea and Bitbucket are afterthoughts, if they are supported at all. Self-hosted Git servers with plain SSH remotes are rarely considered.
This creates a fragmented workflow. You end up using one tool for one provider and a different tool (or the terminal) for another. The whole point of a Git GUI is to simplify your workflow, not to segment it by hosting provider.
A Git client should work with Git. Not with one specific platform that happens to use Git.
Why These Problems Persist
These are not new complaints. Developers have been raising them for years. So why have they not been fixed?
The free tier problem persists because it is a business model, not a technical limitation. Restricting private repos converts free users to paid users. It works financially, even if it frustrates developers.
The bloat problem persists because Electron is the path of least resistance for cross-platform development. Building a native application for Windows, macOS, and Linux is significantly harder. Electron lets you write one web app and ship it everywhere. The tradeoff is size and performance, but most vendors have decided that tradeoff is acceptable.
The single-provider problem persists because provider partnerships and integrations drive revenue. If your Git client is owned by a Git hosting platform, there is no incentive to make competing platforms work equally well.
These are not unsolvable problems. They are problems that the current market has chosen not to solve because the incentives point elsewhere.
What a Better Git GUI Would Look Like
If you were building a Git client from scratch today, with none of the legacy constraints, what would it look like?
It would be free for everything that matters. Private repos, all providers, all core Git operations. No account required. If the tool wraps open-source software, the basics should be free.
It would be small and fast. Built on a framework that uses the OS native webview instead of bundling Chromium. An install size under 20 MB. Memory usage under 100 MB. Launches instantly, never slows your machine down.
It would work with every provider equally. GitHub, GitLab, Gitea, plain SSH remotes — all first-class. Your Git client should not care where your repository is hosted.
It would add features Git is missing. Branch lineage tracking, so you can see which branch was created from which. Merge dry runs, so you can preview conflicts before you commit to a merge. Selective stashing, so you can stash specific files instead of everything. These are features developers have wanted for years that no existing GUI provides.
None of this is theoretical. The technology exists. The demand exists. Someone just needs to build it.
We Are Building It
We started this project because we were tired of the same compromises. We wanted a Git client that respects developers — their time, their resources, and their choice of tools.
We are not ready to show everything yet. But we are building exactly what we described above: a fast, free, multi-provider Git GUI with features that do not exist anywhere else.
If that sounds interesting, keep an eye on this blog. We will have more to share soon.