AI-powered Git client with virtual branches and stacked workflows for modern developers
GitButler is a next-generation Git client built in Berlin by GitHub co-founder Scott Chacon, offering virtual branches that let developers work on multiple features simultaneously without switching branches. Available free under the Fair Source licence, it adds AI-generated commit messages, stacked pull request workflows, and visual branch management to standard Git repositories.
Headquarters
Berlin, Germany
Founded
2023
Pricing
EU Data Hosting
Yes
Employees
1-10
Open Source
Yes
Free
Contact Sales
Billing: monthly, annual
Here is the claim: you should never have to run git stash again. GitButler, the Git client built in Berlin by GitHub co-founder Scott Chacon, is built around a single conviction — that the branching model Git inherited from the 1990s does not match how developers actually work in 2026.
The specific problem GitButler targets is familiar to anyone who has worked across multiple features simultaneously. You start working on a bug fix. A colleague asks a question that sends you down a related rabbit hole. You prototype something new while the bug fix is still half-done. Git expects you to checkpoint everything with a stash, switch branches, do the new work, switch back, pop the stash, and continue. GitButler removes that ceremony. It manages multiple sets of changes — called virtual branches — in your single working directory simultaneously. Each virtual branch tracks its own file changes. You commit, push, and open pull requests for each independently.
Chacon founded GitButler in Berlin in 2023 after leaving GitHub, where he had worked from the pre-acquisition era through the Microsoft transition. The product is available for Windows, macOS, and Linux. The client is licensed under Fair Source — source-visible, with a non-compete clause that expires to MIT after two years — and is free for individual developers. The codebase is built on Rust and Tauri with a Svelte frontend, which is why it launches in under a second even on repositories with tens of thousands of commits.
The flagship feature and the reason most developers try GitButler. A virtual branch is a named set of file-level changes living in your working directory. You can have three, five, or ten virtual branches active simultaneously. Assign files or individual hunks to whichever branch they belong to by dragging them in the GitButler interface. Each branch maintains its own commit history and can be pushed to a remote and turned into a pull request independently.
This eliminates the state-management overhead of traditional branching. There is no need to stash work-in-progress before switching context. New file changes appear uncommitted in the workspace and can be routed to whichever branch is appropriate.
GitButler analyses the staged diff and generates a commit message with subject line and body. The quality is considerably better than generic AI completions because it operates on actual diff context rather than code. For developers who write commit messages as afterthoughts, this produces genuinely useful history. It can be pointed at OpenAI's API, Anthropic's API, or a locally running Ollama model — the local option keeps code entirely within your infrastructure.
Stacked PRs — a series of dependent pull requests representing a large feature broken into reviewable chunks — are an increasingly common workflow in professional engineering teams. GitButler's interface makes creating and managing PR stacks less painful than doing it manually through the GitHub web interface. The Agents Tab provides AI-assisted changelog and PR description generation, using the commit history of a branch as input.
Every action in GitButler — commit, rebase, reset, branch deletion — is undoable. The operation log records each action with its pre- and post-state. This removes the anxiety that causes cautious developers to avoid Git operations they are not certain about. Squashing, splitting, and reordering commits are first-class operations rather than rebase-and-pray sequences.
GitHub and GitLab integration handles pull request creation, status display, and review metadata directly from the GitButler interface. PR reviewers, CI status, and merge readiness are visible without leaving the client. This covers the majority of developer workflows; Gitea and Forgejo users can use GitButler for local branch management while handling PRs through the web.
GitButler is free. The full feature set — virtual branches, AI commit messages, stacked PRs, unlimited undo, forge integration — is available without a subscription or seat licence. The codebase is viewable on GitHub under the Fair Source licence.
A Pro tier with team collaboration features is in development. GitButler has raised USD 3.7 million in pre-seed funding from investors including Fly Ventures (Berlin) and J12 Ventures. The company is building toward a commercial model centred on team features, but the individual client has no current paywall.
For teams where AI commit message generation is used at volume, the cost depends on which AI backend is chosen. Using Ollama locally (which GitButler supports) costs nothing beyond hardware. Using the OpenAI or Anthropic API adds per-token costs that are negligible for typical commit volumes — a developer writing 20 commits per day at average diff sizes costs well under EUR 1/month in API fees.
GitButler GmbH is incorporated in Berlin, Germany, subject to EU jurisdiction and GDPR. The client is local-first: your repository data lives on your machine and is not transmitted to GitButler's servers. The only network connections the client makes are to Git remotes you configure (GitHub, GitLab, your self-hosted server) and, optionally, to an AI provider of your choice for commit message generation.
The AI provider connection is opt-in and configurable. Developers processing code that cannot leave their environment can use Ollama as a local AI backend, keeping all data on-premise. This makes GitButler compatible with air-gapped or restricted-network development environments that AI-in-the-cloud tools cannot serve.
GitButler's usage analytics are opt-in. The client does not collect or transmit repository content, file names, or commit messages to GitButler's infrastructure.
Developers who regularly juggle multiple work streams simultaneously. If you frequently switch between bug fixes, experiments, and feature branches within a single session, virtual branches remove significant overhead.
Teams using stacked pull request workflows where breaking large features into reviewable series is standard practice. GitButler's UI makes creating and maintaining PR stacks substantially less manual than doing it through git rebase and GitHub's web interface.
Security-conscious developers who want AI-assisted tooling without sending code to third-party APIs. The Ollama integration means you get AI commit messages without any code leaving the machine.
Linux developers often underserved by polished desktop Git clients. GitButler's Tauri-based cross-platform build runs natively on Linux with full feature parity.
GitButler makes a strong case that the conventional branch-per-feature model is not the only way to use Git. Virtual branches are a genuinely novel workflow improvement rather than a UI polish over git commands. The free pricing removes the evaluation barrier entirely. The remaining limitations are real: team features are still developing, and some advanced Git operations require falling back to the terminal. For individual developers and small teams willing to rethink their branching workflow, GitButler is the most interesting development in Git clients in years.
Yes. The full GitButler client is free for individual developers with no usage limits or feature restrictions. A Pro tier with team collaboration features is planned but not yet generally available. The source code is on GitHub under the Fair Source licence.
Your repository data stays on your machine. GitButler only connects to the Git remotes you configure (GitHub, GitLab, your own server) and, if you enable it, to an AI provider for commit message generation. That AI connection can be routed to a local Ollama instance, keeping all code on-premise.
Yes. GitButler GmbH is incorporated in Berlin, Germany, and operates under EU jurisdiction. The client is local-first with no repository data transmitted to GitButler's infrastructure. Usage analytics are opt-in.
GitHub Desktop is a straightforward GUI for common Git operations — commit, push, pull, branch. GitButler is a fundamentally different approach: virtual branches, stacked PRs, unlimited undo, AI commit messages, and a workspace model that eliminates branch switching for mid-session context changes. GitButler also supports GitLab in addition to GitHub.
Yes. GitButler works with any Git remote, including self-hosted Gitea, Forgejo, Bitbucket, or bare Git servers. Forge integrations (pull request creation and review display) currently support GitHub and GitLab specifically. For other platforms, you manage pull requests through the web interface while using GitButler for local branch operations.
AI-powered full-stack web app generation from natural language prompts
AI coding assistant for VS Code and JetBrains powered by Codestral and Devstral
Alternative to Github Copilot, Cursor
Foundational AI models for autonomous code generation
Alternative to Github Copilot, Cursor