Open-source visual Git client. Fast, native, and cross-platform.
GitChef is a desktop Git client built with Tauri and React. It pairs a tabbed, multi-repository workspace with a fast commit graph, inline diffs, and a focused staging flow, all inside a small native window.
Browse history as a commit graph - branches, tags, remotes, stashes, and real author avatars.
Stage changes and read inline diffs side by side, then commit - all in one view.
- Tabbed workspace - keep multiple repositories open, color-code tabs to tell them apart, and switch between them.
- Commit graph - browse history with branches, tags, remotes, and stashes, with per-author avatars.
- Author avatars - commit authors show their real GitHub or GitLab profile picture (resolved from the repo's remote), falling back to Gravatar.
- Staging panel - stage, unstage, and discard changes from a searchable file list, with line- and hunk-level staging.
- Diff viewer - read inline or side-by-side diffs, flip to a full-file or blame view, and preview images.
- Commit composer - conventional-commit prefixes, co-authors, and amend.
- Branch tools - checkout, create, merge, rebase, cherry-pick, revert, and reset; interactive rebase planning.
- Conflict resolution - resolve merge/rebase conflicts inline, side by side.
- Remotes & tags - clone and init repositories; add, rename, remove, and re-point remotes; create, push, and delete tags.
- Stashes - create, apply, pop, drop, and re-message stashes.
- Worktrees & submodules - list and add worktrees; view and update submodules.
- Search - filter files, search commit metadata, and run content (
git grep) and pickaxe (git log -S) history searches. - Pull requests - open a GitHub PR or GitLab MR, and see review/CI status in the sidebar.
- Quick open - fuzzy-find and jump to any tracked file (Cmd/Ctrl+P) and a command palette (Cmd/Ctrl+K).
- Recent repositories - jump back into recently opened repos from the Home tab.
- Theming - light, dark, and system themes.
- Auto-updates - a built-in, signature-verified updater keeps installed builds current.
Grab the latest build for your platform from the Releases page:
- macOS -
brew install --cask jcardonne/gitchef/gitchef(see the tap), or grabGitChef_<version>_macOS.dmgfrom the Releases page and drag GitChef to Applications. The app isn't notarized by Apple yet, so the first launch is blocked by Gatekeeper: right-click GitChef and choose Open (or runxattr -dr com.apple.quarantine /Applications/GitChef.app). - Windows -
GitChef_<version>_Windows_setup.exe(or the.msi). The installer isn't code-signed yet, so SmartScreen may warn - choose More info -> Run anyway. - Linux -
GitChef_<version>_Linux.AppImage(recommended: portable, runs on most distros, and auto-updating;chmod +xit then run - some systems needlibfuse2). A.debis also published for Debian/Ubuntu.
Once installed, GitChef checks for signature-verified updates on launch and updates itself in the background. Auto-update covers the macOS, Windows, and Linux AppImage builds; the Linux .deb updates through your package manager instead.
Prerequisites: Node.js with pnpm, plus the Rust toolchain for the Tauri backend.
pnpm install # install frontend dependencies
pnpm tauri dev # run the full app in developmentTo run only the frontend dev server (no native shell), use pnpm dev.
pnpm tauri build # produce a native bundle for the current platformBundles and installers are written to src-tauri/target/release/bundle/.
- Tauri 2 - native shell, window chrome, and bundling.
- React 18 + TypeScript - UI.
- libgit2 (via
git2) for local reads; network operations delegate to the systemgitCLI.
src/ React frontend (components, state, styling)
src-tauri/ Rust backend, Tauri config, and bundle icons
docs/ Project documentation (see RELEASING.md)
pnpm test # frontend unit tests (vitest)
cargo test --manifest-path src-tauri/Cargo.toml # Rust backend testsEnd-to-end tests (e2e/) drive the real Tauri binary via WebKitWebDriver and run in CI on Linux.