New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

gitwarren

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gitwarren

Code review for your own machines and your own agents, served on loopback. No Electron, no account.

latest
Source
npmnpm
Version
0.1.17
Version published
Maintainers
1
Created
Source

gitwarren

Local-only code review for your git repositories. Your code, your diffs and your comments stay on your machine — there is no server, no account and nothing to sign in to.

This package is the command line. There is also a desktop app; see gitwarren-app.

npx gitwarren serve --open

That serves the review UI on 127.0.0.1:41427, prints a URL carrying a token minted for that launch, and opens it. Add a repository, pick two refs, and review the diff. Ctrl-C stops it. Needs Node 22.14 or newer; on a machine without Node, the Homebrew formula and the install script in the app repository bring their own.

Commands

Run it now

gitwarren serve [--open]run GitWarren in this terminal and print its URL; --open opens it too
gitwarren open [link]open the running GitWarren in your browser, carrying the token

Keep it running

gitwarren service installrun GitWarren in the background, from now and at every login
gitwarren service uninstallstop that, and remove the login item
gitwarren service statuswhat is running, and where the data is

Let a coding agent in

gitwarren agent-setupprint the one sentence to give an agent so it can reach GitWarren over MCP

Keep it current, or take it off again

gitwarren update --checksay what is installed and what the newest release is
gitwarren doctoris every path GitWarren hands another program still pointing at something? --fix repoints a stale one
gitwarren uninstalltake GitWarren off this machine; reviews stay unless --data says otherwise

gitwarren update replaces an install in place only when GitWarren is the one that put it there — install.sh, or the app installing onto a machine of yours over ssh. This package is not that case, and the command says so rather than writing into a node_modules it does not own: an npm install -g copy is updated with npm install -g gitwarren@latest, and under npx there is nothing to update at all, because npx gitwarren@latest fetches the newest release every time. --check answers is there a newer one whichever of those you are.

uninstall is worth knowing here, where npm uninstall looks like the whole story. It is not. Whichever command you ran first also wrote ~/.gitwarren/bin/gitwarren and gitwarren-mcp, and service install may have registered a login item; npm has a record of none of that, and an agent config naming a launcher goes on naming it after the package is gone — which surfaces as MCP server failed to connect, in another product, with nothing saying why. gitwarren uninstall takes the launchers it can attribute to this install and the login item with them, and names the npm command for the package itself. gitwarren doctor says whether a launcher has already been left dangling, and exits non-zero when one has, so a script can be what notices.

gitwarren serve --stdio answers GitWarren's protocol on stdin and stdout; it is what a GitWarren on another machine spawns, and nothing a person needs to type.

gitwarren open takes a gitwarren:// deep link or the http://127.0.0.1 URL an agent hands out, and lands on that review rather than the home screen.

Letting an agent in

The quickest way is the plugin, which brings the server and a note that teaches the agent when to open a review. In Claude Code, /plugin marketplace add klarluft/gitwarren-app then /plugin install gitwarren@gitwarren; in Gemini CLI, gemini extensions install https://github.com/klarluft/gitwarren-app; Cursor, Codex, VS Code and Kiro read the same repository from their plugin screens. The plugin finds this install by itself.

Every install carries GitWarren's MCP server. What an agent needs is one stable command to start it with, and that is ~/.gitwarren/bin/gitwarren-mcp — the same path on every machine, written by gitwarren serve, gitwarren agent-setup and gitwarren service install alike, and kept pointing at whichever install ran last. gitwarren agent-setup prints the sentence to paste into the agent.

The MCP server reads the same SQLite file the browser view does, so an agent can open and comment on reviews whether or not GitWarren is being served. What serving adds is that the links an agent hands you have something to open.

On a machine where nothing has been installed, the same server starts by name: npx gitwarren mcp. That is the command a Claude Code plugin or an MCP registry entry names, and it is what makes either work before you have decided to keep GitWarren. It writes no launcher and asks for no login item; it reads the same database, so the reviews are there when you do.

npx gitwarren mcp --serve also serves the review page, on loopback and for as long as the agent keeps the server running, so the links the agent hands out open even on a machine with nothing else installed. If GitWarren is already running, as the app or as gitwarren serve, it serves nothing and the links open there instead.

Where your data is

One SQLite database in the usual place for your platform — ~/Library/Application Support/GitWarren on macOS, ~/.config/GitWarren on Linux, %APPDATA%\GitWarren on Windows. gitwarren service status prints the path.

The web view binds 127.0.0.1 only, checks Host and Origin on every request and on the WebSocket upgrade, and requires a token minted per launch which it exchanges for a SameSite=Strict cookie. A page on another origin cannot reach it.

Licence

GPL-3.0-or-later. Copyright © 2026 Klarluft B.V.

Keywords

code-review

FAQs

Package last updated on 18 Sep 2026

Related posts