---
title: "GitStudio — a free Git client for macOS, Windows & Linux"
description: "A free, open-source Git and GitHub client for macOS, Windows and Linux: a fast commit graph, repository tabs, a merge editor and interactive rebase."
url: https://gitstudio.dev/
---

GitStudio Desktop 2.6 · · macOS, Windows, Linux

# The full Git and GitHub workflow in one desktop app.

A commit graph, a three-pane merge editor, interactive rebase, pull requests and issues, and a real terminal, in one window with a tab for every repository. Free, open source, and no account.

[Download for macOS, Windows & Linux](https://gitstudio.dev/#download) [View the source](https://github.com/GitStudioHQ/gitstudio)

- v2.6.1
- Apache-2.0
- No account
- No usage tracking

![GitStudio Desktop's Commits view: a lane graph of the gitstudio repository with the app-v2.6.0 tag, three commits selected, and Cherry-pick, Revert, Squash, Drop and Copy SHAs for all three in the details pane](https://gitstudio.dev/_astro/app-commits.BZ8qjSfM_1fUQSG.webp)

GitStudio Desktop on its own repository: three commits selected at once, and every action for all three in one place.

01 · Commit graph

## A commit graph that stays fast at tens of thousands of commits.

The graph is virtualized, so it stays responsive on large repositories. Colored lanes, ref chips, author avatars on the nodes, and full keyboard navigation. The same engine draws it on the desktop and in the editor.

- Check out, branch, tag, cherry-pick, revert, rebase, or reset from any commit.
- Select several commits to cherry-pick, revert, squash, or drop them in one go, compare two, or copy their SHAs. Each one can be undone.
- Filter the graph to one branch or a few, and search by message, author, SHA, or ref.
- Open a file from a commit and its diff takes the panel at the bottom, full width.
- See the files a commit changed as a list or as a folder tree.
- Edit the message of any commit, not only the last one. GitStudio replays the commits after it, and Undo puts them back.

Commit Graph — the real component, live

The graph above is GitStudio's own graph component, rendering the history of the GitStudio repository. Scroll and click through it.

![GitStudio Desktop's interactive rebase of the last ten commits on main: each commit with its action, one reworded with its new message in an inline editor, one squashed and one fixed up into the commit named beside them, one dropped and struck through, one set to Edit so the rebase pauses there, and a footer reading 10 to 7 commits, 2 folded, 1 dropped, beside Start rebase](https://gitstudio.dev/_astro/app-rebase.DA4e6luM_9oOUa.webp)

Interactive rebase, planned before it runs: reword in place, squash and fixup say what they fold into, and the footer counts what the rebase will leave.

![GitStudio Desktop's Branches view: fourteen local branches with tabs for remotes, tags and stashes, filters for active and stale, each branch with its author's avatar, how far it is ahead or behind, when it was last committed to, current and merged badges, and Checkout, Pull or Publish](https://gitstudio.dev/_astro/app-branches.B3sWH_NQ_Z1Ihdt6.webp)

Branches: who works on each one, how far it is from its remote, which are merged, and one click to check out, pull or publish.

Also in your editor

## GitStudio is also two editor extensions.

The engine behind the desktop app, as two open-source extensions for VS Code, Cursor, and every editor built on VS Code. Take the whole workflow, or only the merge editor.

![GitStudio icon](https://gitstudio.dev/_astro/gitstudio-icon.BVdJQPwL_2sjG7l.webp)

### [GitStudio](https://gitstudio.dev/gitstudio-extension)

The full Git workflow in your editor: a commit graph, inline blame, staging, rebase, and pull requests.

v1.20.0 · 723 installs · 10,443 downloads

![The GitStudio extension’s Commit Graph panel in VS Code: branches, tags and merges as coloured lanes](https://gitstudio.dev/_astro/ext-graph-panel.D511_l___Z1GrAdk.webp)

![Merge Studio icon](https://gitstudio.dev/_astro/merge-studio-icon.DZXfLxFU_Zxis55.webp)

### [Merge Studio](https://gitstudio.dev/merge-studio-extension)

The three-pane merge editor and the conflicts dashboard on their own, with a named undo history.

v1.4.1 · 694 installs · 4,131 downloads

![Merge Studio’s three-way merge editor in VS Code on its sample conflict: yours, the result and theirs side by side](https://gitstudio.dev/_astro/ms-merge-editor.DLIuDZmT_ZorgDU.webp)

Runs in VS Code, Cursor, VSCodium, Windsurf, and code-server. VS Code installs from the Marketplace; the others install the same build from Open VSX.

02 · Merge

## Conflicts, from the first stop to Continue.

When a merge, rebase, cherry-pick, or revert stops, the conflicts dashboard lists every file with Accept Yours, Accept Theirs, and Merge…, and Continue, Skip, or Abort named for the operation. Merge… opens yours, the result, and theirs side by side, each change coloured by the decision it needs.

- Four colours with a legend: conflict, same on both sides, one side only, removed lines.
- Apply every non-conflicting change at once, or let Resolve simple settle the easy ones.
- During a rebase, Yours is always your own commit, on the left.
- The same editor and dashboard ship in the GitStudio extension and in Merge Studio.

![GitStudio Desktop's Changes view during a merge: feat/natural-sort into main, three conflicted files, each with Accept Yours, Accept Theirs and Merge buttons, Abort Merge, and Continue Merge waiting](https://gitstudio.dev/_astro/app-conflicts.BJHpoXfL_Z84Yqf.webp)

A real merge stopped on three files. The dashboard names both sides, and Continue Merge waits until every file is resolved.

![GitStudio Desktop's three-pane merge editor on fileTree.ts during a real merge: changes from main on the left, the result in the middle, changes from feat/natural-sort on the right, three conflicts marked in orange](https://gitstudio.dev/_astro/app-merge.C3z-NNjj_HWyIf.webp)

Merge… on fileTree.ts: three conflicts in orange, one change from one side only, and a legend that says which is which.

03 · Everyday Git

## The rest of the everyday workflow.

### Repositories as tabs

Each repository you open gets a tab that keeps its own view, selection, and search. Ctrl+Tab moves between them, and the tabs you had open come back when you restart.

### Interactive rebase

Reorder commits by dragging them: pick, reword, edit, squash, fixup, drop. Select several and set their action at once.

### Undo

A drop, a reset, a discard, a batch cherry-pick: each one leaves an Undo in the notice it shows, and ⌘Z (Ctrl+Z) works too. Each tab keeps its own history.

### Pull and push that ask

A diverged branch asks Merge or Rebase for that pull, and never rewrites your config. Changes in the way get Stash & Retry, and every force push is leased.

### Branches, stashes, worktrees

Local and remote branches, tags, and stashes in one view: who works on each branch, how recently, active or stale. Reset a branch to its remote, switch branches from the keyboard, and open a worktree in a tab of its own.

### A real terminal

A real shell in the bottom panel, beside an Output tab that logs every git command GitStudio runs for you, with how long it took.

04 · GitHub

## All of GitHub, inside the app.

Issues and pull requests are full-width lists that open into full-page details with a property rail. Review a pull request: check it out, comment on lines, and post the comments with your verdict as one review. Read any GitHub repository without cloning it. Every list says where a repository is — on this machine, or on GitHub. Inbox, Actions, releases, projects, organizations, and gists are built-in views too.

![Pull request #86 on GitStudioHQ/gitstudio open as a full page in GitStudio Desktop: a Merged pill, the title, the contributor's description, a review comment from Copilot, tabs for conversation, commits, checks and files, and a rail with who merged it, the branches, the checks, and the size of the change](https://gitstudio.dev/_astro/app-prs.DbjrglcA_Z1BlYgs.webp)

A community pull request in GitStudio 2.6: the whole thread on one page, with who merged it, the branches, and the size of the change in the rail.

![GitStudio Desktop reading libgit2/libgit2 straight from GitHub: the file list, a rail saying the repository is on GitHub and nothing of it is on your disk, its stats and topics, a Clone and open button, and a top bar that still says it is working in gitstudio](https://gitstudio.dev/_astro/app-browse.DBv3mJ95_1SLMAh.webp)

Reading libgit2 on GitHub without cloning it, in GitStudio 2.6. The top bar still names the repository Push and Fetch act on.

05 · Assistant · optional

## AI that runs on _your_ own keys.

The assistant is off until you connect a model. It runs on your own API keys across ten cloud providers or any OpenAI-compatible server, on the Claude Code, Codex or Gemini CLI you already have, or locally through Ollama and LM Studio. It reads real status, diffs, and history, and asks before every write. A built-in MCP server gives other agents the same tools.

- A permission control — read-only, commits, or everything — that asks before every write, with each tool call visible.
- Requests go from your machine to your provider. Keys stay on your machine, encrypted in GitStudio's own store rather than the OS keychain — the trade-off is in the FAQ.
- With Ollama or LM Studio, nothing leaves your machine.
- Enter sends, every answer copies as Markdown, and the composer says which repository and branch it is working in.

![The assistant in GitStudio Desktop answering 'What did the last three commits change? One short bullet each.' on the gitstudio repository: the Log tool call it made, then one bullet per commit, with the session set to Read-only and Qwen3-8B running locally in LM Studio](https://gitstudio.dev/_astro/app-assistant.gHrurJcS_Zb1UzW.webp)

The assistant in GitStudio 2.6, summing up the last three commits in a read-only session on Qwen3-8B in LM Studio, on this machine. The tool call it made is in the transcript.

Anthropic, OpenAI, Gemini, and 7 more cloud providers — any OpenAI-compatible server — the Claude Code, Codex and Gemini CLIs you already have — and local models through Ollama and LM Studio.

Install · v2.6.1

## Get GitStudio Desktop.

macOS, Linux and Windows — free and open source. No account, no license key, nothing to activate.

### macOS

`curl -fsSL https://gitstudio.dev/install.sh | bash`

[Apple Silicon · .dmg](https://github.com/GitStudioHQ/gitstudio/releases/download/app-v2.6.1/GitStudio-2.6.1-arm64.dmg)

[Intel · .dmg](https://github.com/GitStudioHQ/gitstudio/releases/download/app-v2.6.1/GitStudio-2.6.1-x64.dmg)

or with Homebrew:

`brew install --cask gitstudiohq/gitstudio/gitstudio`

grabbed the .dmg? macOS asks once: Privacy & Security → Open Anyway, or run:

`xattr -d -r -s com.apple.quarantine /Applications/GitStudio.app`

macOS 12 Monterey or later · Apple Silicon & Intel

### Linux

`curl -fsSL https://gitstudio.dev/install.sh | bash`

[AppImage · x86-64](https://github.com/GitStudioHQ/gitstudio/releases/download/app-v2.6.1/GitStudio-2.6.1-x86_64.AppImage)

[.deb](https://github.com/GitStudioHQ/gitstudio/releases/download/app-v2.6.1/GitStudio-2.6.1-amd64.deb) [.rpm](https://github.com/GitStudioHQ/gitstudio/releases/download/app-v2.6.1/GitStudio-2.6.1-x86_64.rpm) [.tar.gz](https://github.com/GitStudioHQ/gitstudio/releases/download/app-v2.6.1/GitStudio-2.6.1-x64.tar.gz)

grabbed the AppImage yourself? make it executable:

`chmod +x GitStudio-*.AppImage`

x86-64, glibc 2.35+ (Ubuntu 22.04, Debian 12 or newer) · the AppImage needs libfuse2, the packages do not

### Windows

`irm https://gitstudio.dev/install.ps1 | iex`

[x64 · .exe installer](https://github.com/GitStudioHQ/gitstudio/releases/download/app-v2.6.1/GitStudio-Setup-2.6.1.exe)

grabbed the .exe? SmartScreen will warn once — “More info” → “Run anyway”.

Windows 10 or 11, x64

GitStudio runs the Git already on your computer, so install Git first if you have none. The builds are not code-signed or notarized yet. Every installer is built by CI from the public repository and lands on the [releases page](https://github.com/GitStudioHQ/gitstudio/releases) with `SHA256SUMS.txt` beside it; the one-line installers verify against it and refuse to install on a mismatch. [Every build, the checksums, and the extension →](https://gitstudio.dev/download)

How it compares

## GitStudio next to the alternatives.

A feature-by-feature comparison with GitKraken, GitLens, and the built-in Git tools.

| Capability                        | GitStudio         | GitKraken       | GitLens       | Built-in Git  |
| --------------------------------- | ----------------- | --------------- | ------------- | ------------- |
| Desktop app                       | Free              | Paid            | —             | —             |
| Commit graph on private repos     | Free              | Paid            | Pro           | —             |
| Three-pane merge editor           | Yes               | Yes             | Uses built-in | Basic         |
| Full GitHub client in-app         | Yes               | Yes             | Companion ext | Companion ext |
| Undo for Git operations           | Yes               | Yes             | —             | —             |
| AI on your own keys               | Yes               | Account + cloud | Pro / cloud   | Copilot sub   |
| Local-model AI                    | Ollama, LM Studio | —               | —             | —             |
| Also a VS Code / Cursor extension | Yes               | —               | Yes           | Yes           |
| Open source                       | Apache-2.0        | Closed          | Open-core     | MIT           |
| Account required                  | No                | Yes             | For Pro       | No            |
| Price for the full feature set    | $0                | Subscription    | Subscription  | $0            |

Reflects each product's publicly documented behavior as of July 2026. Plans change, so check their pricing pages. Found an error? [File an issue](https://github.com/GitStudioHQ/gitstudio/issues) and we'll correct it.

FAQ

## Questions.

Is GitStudio actually free?

Yes. The desktop app and both extensions are free on public and private repositories, with no account and no paid tier. The desktop app and the GitStudio extension are Apache-2.0; Merge Studio is MIT, with the merge packages it shares with GitStudio under Apache-2.0.

Does my code or data leave my machine?

Your code, no. Git runs locally, GitHub calls go straight to GitHub with your own sign-in, and there is no usage tracking and no analytics. What the app does send: a check for new versions to GitHub Releases; avatar lookups on Gravatar, which the commit graph makes with an MD5 hash of each commit author's email (Settings ▸ Appearance turns them off, and so does `gitstudio.avatars.gravatar` in the extension); and an anonymous crash report when something fails — the shape of the error with a random install id, scrubbed of paths, emails, remotes, and code, sent to gitstudio.dev and filed in a private tracker. Crash reports are on by default: Help → Send Anonymous Crash Reports turns them off. The GitStudio extension sends the same reports unless you set `gitstudio.errorReporting.enabled` to false or turn off VS Code's telemetry; Merge Studio sends none. The assistant is off until you connect a model, and with a local model through Ollama or LM Studio, nothing leaves your machine. Every connection, in full: the [desktop app's](https://github.com/GitStudioHQ/gitstudio/blob/main/apps/desktop/PRIVACY.md)and the [extension's](https://github.com/GitStudioHQ/gitstudio/blob/main/apps/extension/PRIVACY.md) privacy notes.

Which editors do the extensions support?

VS Code, Cursor, VSCodium, Windsurf, and code-server. VS Code installs from the Marketplace; the others install the same build from Open VSX. See the [extensions](https://gitstudio.dev/extensions) for details.

Do I need an account?

No. There is no GitStudio account. You sign in to GitHub with your own credentials only when you use the GitHub features.

Where are my API keys stored?

On your machine, in GitStudio's own encrypted store — not your OS keychain, so there is never a system password prompt. Each key is an AES-256-GCM file readable only by your user, and nothing is written in clear text. The trade-off, plainly: the device key that decrypts them is stored next to them, so a copied backup or synced folder is useless on its own, but any program already running as you could read them. That is weaker than a keychain that asks you to unlock it.

How does AI billing work with my own keys?

You add your provider's API key, and requests go from your machine to that provider. You pay the provider directly at their rates. GitStudio takes no cut and runs no proxy. Local models through Ollama or LM Studio cost nothing.

Can I trust the installers?

They are built by CI from the public source and attached to the GitHub release with a SHA256SUMS.txt; the one-line installers verify against it and refuse to install on a mismatch. The builds are not code-signed or notarized yet. On Windows, SmartScreen warns on first launch (More info → Run anyway). On macOS the app is only ad-hoc signed: the install script and the Homebrew cask clear the quarantine flag for you, and a .dmg you download yourself opens after one step, shown on the download page. You can verify the checksums yourself, or build from source.

Does the app update itself?

It checks GitHub Releases for a new version and asks; nothing downloads until you say so, and the question stays until you answer it. On Windows, and on Linux with the AppImage, it downloads the update and restarts into it. On macOS the build is unsigned, so it downloads the new .dmg to your Downloads folder and opens it — one drag to Applications.

What does it run on?

macOS 12 Monterey or later on Apple Silicon or Intel; Windows 10 or 11, x64; and Linux on x86-64, glibc 2.35+ (Ubuntu 22.04, Debian 12 or newer). There is no Windows ARM64 or Linux arm64 build yet. GitStudio runs the Git already on your computer and does not bundle one; the [download page](https://gitstudio.dev/download#questions) says where to get it.

Support GitStudio

## Free and open source. If it saves you time…

GitStudio has no paid tier, no account, and no ads, and it is built in the open. A sponsorship or a coffee pays for the time that goes into it, and keeps it free for everyone.

[Sponsor on GitHub](https://github.com/sponsors/antonarnaudov) [Buy me a coffee](https://checkout.revolut.com/pay/7a6070ab-99ba-4170-a125-c5911b1a5c1d)

Download

## Get GitStudio Desktop.

Installers for macOS, Windows, and Linux, or one command in a terminal. Private repositories work exactly like public ones — free, open source, no account.

[Download for macOS, Windows & Linux](https://gitstudio.dev/#download) [View the source](https://github.com/GitStudioHQ/gitstudio)
