GitWarren
A local-first desktop app for reviewing AI-written code in your git worktree before it becomes a commit, with an MCP server so agents can participate in the review.
At a Glance
About GitWarren
GitWarren is a cross-platform desktop application built by Klarluft B.V. that lets developers review code changes — including uncommitted, staged, and untracked files — directly on their own machine before anything is pushed to GitHub. It is free and open source under GPL-3.0, with the source available at github.com/klarluft/gitwarren-app. The tool is created and maintained by Michal Wrzosek and is currently at v0.1.6.
What It Is
GitWarren fills a gap that every other code review tool leaves open: the moment between when a coding agent finishes its work and when that work becomes a commit. Traditional review tools — GitHub pull requests, GitLab merge requests — require a commit, a push, and an open PR before you can read a diff. GitWarren reads the git worktree directly, folding staged, unstaged, and untracked files into a single reviewable diff on your own machine. No account is required, no data leaves your computer, and all review state is stored in a single SQLite file in your application-data directory.
Local-First Architecture
The "local by construction" design is a deliberate constraint, not a limitation:
- No account, no server. Nothing to sign up for; the app is one person's tool on one machine.
- Nothing cached. Every branch name, commit, and diff is read from git at the moment it is displayed, so nothing goes stale.
- One SQLite file. Reviews and comments live in a single file (
gitwarren.db) in the OS application-data directory. Deleting it removes GitWarren entirely without touching any repository. - Multi-machine reach. GitWarren can reach repositories on other machines over SSH, WSL, or a Tailscale tailnet — reviews live where the code does, not on a central server.
Agent Participation via MCP
GitWarren ships an MCP (Model Context Protocol) server over stdio. Pointing Claude Code, Codex, or any MCP-compatible client at it gives the agent access to seventeen tools — the same service layer the UI uses — including opening reviews, reading discussions, replying in threads, leaving line comments, and resolving threads. Agent comments are always attributed as machine-written, with the tool name taken from the MCP handshake (clientInfo.name) rather than from whatever the model calls itself. Two concurrent agent sessions are kept distinct by a per-session ID minted at startup. The MCP server can run independently of the desktop app; both share the same SQLite database.
Reviewing Uncommitted Work
The core feature is the ability to review a branch against itself — where the merge base of a ref with itself is its own tip, so the diff is exactly what the worktree holds that has not been committed. GitWarren uses git worktree list --porcelain to find whichever worktree holds the head branch, then reads staged, unstaged, and untracked changes from that location. Untracked files are listed with git ls-files --others --exclude-standard and rendered as whole-file additions. Three diff views are available: committed only, all changes (committed + uncommitted), and uncommitted only.
Stack and Deployment Model
GitWarren is built on Electron 44 with TypeScript, React 19, Tailwind CSS v4, and SQLite via better-sqlite3 and Drizzle ORM. The UI and MCP server both call one shared service layer (src/core/services/) — neither surface contains repository or review logic of its own. The desktop app is available as:
- macOS (Apple Silicon and Intel DMG, also via
brew install --cask klarluft/tap/gitwarren) - Windows (NSIS installer, x64 and arm64)
- Linux (AppImage, x86_64 and arm64)
A headless CLI (gitwarren serve) serves the same review UI in a browser tab for machines without a screen or for users who prefer not to install an Electron app. The CLI is available via npx gitwarren or brew install klarluft/tap/gitwarren-cli.
Update: v0.1.6
The latest release is v0.1.6, published on 2026-09-08. The repository was created in September 2026 and has seen active development, with the last push on 2026-09-11. The project is featured on Product Hunt. Auto-update is built in (checks on launch and every 6 hours, downloads in the background, applies on next restart); on macOS, auto-update requires a signed build. The release pipeline produces installers for all three platforms plus daemon tarballs for headless deployment and an npm package for the CLI.
Community Discussions
Be the first to start a conversation about GitWarren
Share your experience with GitWarren, ask questions, or help others learn from your insights.
Pricing
Free & Open Source
Fully free and open source under GPL-3.0. No account required.
- Local code review of uncommitted, staged, and untracked changes
- MCP server for agent participation
- Multi-machine reach over SSH, WSL, Tailscale
- Threaded comments with line anchoring
- Image attachments in comments
Capabilities
Key Features
- Review uncommitted, staged, and untracked git changes before committing
- MCP server over stdio for agent participation in code reviews
- Local-first: no account, no server, no data leaves your machine
- Multi-machine reach over SSH, WSL, or Tailscale tailnet
- Three diff views: committed, all changes, uncommitted only
- Untracked file review rendered as whole-file additions
- Threaded comments with line anchoring and re-anchoring as code moves
- Agent comments always attributed with tool name from MCP handshake
- Two concurrent agent sessions kept distinct by per-session ID
- Single SQLite file for all review state
- File tree navigation with fold/unfold and reviewed-file tracking
- Expand hidden diff lines (like GitHub's unfold)
- Open file in editor (VS Code, Cursor, Windsurf, Zed, Sublime, JetBrains)
- Image attachments in comments (PNG, JPEG, GIF, WebP)
- Headless CLI mode (gitwarren serve) for browser-based review
- Auto-update on launch and every 6 hours
- Homebrew cask for macOS installation
- Deep link support (gitwarren:// protocol) for linking to specific reviews
