l8git is a native desktop Git client for developers managing multiple repositories. Pull requests, CI/CD, conflict resolution, and an AI commit assistant — without opening a browser.
Also available for Windows and Linux · Free & Open Source
No more context-switching between a terminal, a browser, and three separate tools. l8git brings your entire Git workflow into one fast, native app.
Add unlimited repositories and switch between them in tabs. Fetch, pull, and push across all repos simultaneously. Filesystem watching keeps the UI in sync automatically.
feat(auth): add OAuth2 flow with PKCE
Implement authorization code flow with PKCE for secure token exchange. Add refresh token rotation and silent re-auth on expiry.
Generate Conventional Commit messages from your staged diff. Works with OpenAI, Anthropic, Google, Ollama, and any OpenAI-compatible API — fully customizable prompt.
feat: redesign dashboard layout
4 / 4 checks passed
fix: resolve race condition in auth
3 / 4 checks · 1 running
chore: upgrade all dependencies
Waiting for checks…
GitHub and Bitbucket PR management with check runs, inline annotations, review submissions, auto-merge, and workflow reruns — without opening a browser.
~/my-app on feat/auth
$ git log --oneline -3
a1b2c3d feat(auth): add OAuth2 with PKCE
e4f5g6h fix: handle expired tokens
i7j8k9l chore: upgrade deps
~/my-app $ █
A full xterm.js shell per repository. Your shell, your config — always open inside l8git. Resize, configure, and never leave the app.
Three-way merge editor powered by Monaco. View base, ours, and theirs side-by-side. Edit inline, mark resolved, and auto-stage without leaving the panel.
Commits
1,284
Contributors
12
Branches
8
Commit graph, git blame, language statistics, contributor analytics, and commit activity — all built into the app. No external dashboards required.
From everyday commits to advanced workflows — stash, cherry-pick, bisect, submodules, worktrees, and hooks — all with a proper UI.
Branching
Create, checkout, delete, and track local and remote branches
Stash
Push, pop, apply, drop, and create branches from stashes
Cherry-pick
Pick commits across branches with conflict handling and abort/continue/skip
Rebase & Reset
Soft, mixed, and hard resets; merge strategies including squash and ff-only
Tags
Create, delete, and push local and remote tags in one click
Git Hooks
List, edit, toggle, and manage all repository hooks directly in the UI
Submodules
Init, update, sync, add, and deinit submodules with full UI support
Worktrees
Add, remove, lock, unlock, prune, and move git worktrees
Bisect
Start, mark good/bad/skip, view status, and reset bisect sessions
Multi-provider
GitHub, GitHub Enterprise, Bitbucket — with built-in credential management
Push Options
Force-with-lease, atomic, dry-run, no-verify, and tags mode per repo
Workflow Editor
Read, edit, and save GitHub Actions workflow YAML files directly in-app
l8git reads your staged diff and generates a Conventional Commit-style message in seconds. Customize the system prompt, pick your provider, and configure the output language per repository.
Staged diff:
auth/oauth.ts +82 −12
auth/pkce.ts +56
auth/token.ts +34
feat(auth): add OAuth2 flow with PKCE
Implement authorization code flow with PKCE for secure token exchange. Add refresh token rotation and silent re-authentication on session expiry.
$ gh repo clone l8git/l8git
✓ Cloned into ./l8git
$ cd l8git && bun install
✓ 284 packages installed in 3.1s
$ bun run tauri dev
▲ l8git dev app is running
Hack away.
l8git is built on Tauri — a Rust backend handles all Git operations via shell, HTTP, and PTY, while a React frontend delivers a fast, typed UI. Small binary. Low memory. No WebView bloat.
Tauri 2
Rust backend
React 19
TypeScript UI
Vite 7
Fast builds
Tailwind 4
Utility-first CSS
l8git is free, fast, and built by developers for developers. Install it and stop context-switching.
Requires git to be installed and in your PATH