Your whole Git workflow,
keyboard-first
Stop juggling a Git GUI, your terminal, and the browser. coco ui puts history, diffs, staging, PRs, and issues behind muscle-memory keystrokes — one fast surface, sharpened by AI.
npx git-coco@latest ui- 16
- views
- 49
- themes
- <100ms
- boot
- 0
- mouse
Explore every surface
Sixteen specialized views, plus the cross-view actions that span them — each purpose-built for a specific Git workflow. Toggle between them and hover to preview.
History
Browse commit history with graph visualization.
↑ ↓ to explore · click to enlarge
Every repo, one keystroke away
coco ws scans your directory for repositories and gives you a sortable, filterable overview — dirty state, ahead/behind, open PRs. Clone a remote or add a repo by path without leaving the TUI, then press Enter to drive any of them as a full workstation.
c — cloneClone a remote straight into your launch directory; the destination auto-fills from the URL.
a — addRegister an existing repo by path, with tab completion as you type.
enter — drive itDrill into any repo as a full workstation — history, diffs, branches, and back.
Key workflows
Real Git operations, not just a viewer. Stage hunks, compose commits, review PRs, and rewrite history — all from the keyboard.
Tactile hunk staging
Open a changed file and stage it hunk by hunk. Each hunk carries a ● staged / ○ unstaged badge, the selected hunk is highlighted with an accent bar, and ↑/↓ walk between them — so you stage exactly what you mean, never the whole file by accident.
Stash like a pro
Stash from any view with gZ — even mid-diff — then manage stashes that actually read: every entry shows its origin branch, file count, and age, with a live contents preview. Rename one, branch off it, apply keeping your index, or undo a drop, all without leaving the keyboard.
Side-by-side diff
Read changes in a split-pane diff with syntax highlighting and line-level navigation — staged or unstaged, any commit or file, without leaving the keyboard.
Compose with AI draft
Open the compose view, draft a message from your staged changes with one keystroke, edit it to taste, and commit — Conventional Commits and commitlint respected.
Pull-request actions
Merge, approve, request changes, and comment on PRs straight from the PR view. Review the diff, check CI status, and act — no browser round-trip.
History mutations
Revert, reset, rebase, and cherry-pick from the history view. Cursor to any commit and apply the operation with a single key — with reflog one keystroke away if you need to walk it back.
Fits any terminal
Down to an 80×24 tmux split, the three-pane IDE folds to a single full-width pane you Tab between — no feature locked behind screen real estate. Press v to peek the sidebar without losing your place, then snap right back.
Sharp commands, too
The workstation isn't the whole story. coco's standalone commands bring the same AI to your everyday flow — no TUI required.
coco commitAI-drafted Conventional Commit messages from your staged changes.
coco changelogRelease notes generated from any branch, range, or tag.
coco commit --splitBreak a messy staging area into clean, AI-planned commits.
Forty-nine ways to make it yours
From Catppuccin to Gruvbox to Synthwave — every preset is a complete palette, surface and all. Plus full NO_COLOR support for minimal environments.
Every surface, themed
The history wall above is just the start. The syntax-highlighted diff and the status surface recolor with your theme too — here are a few of the presets, dark and light.
Diff








Status








NO_COLOR support
Set NO_COLOR=1 to strip all color output. Respects the no-color.org convention.
How coco stacks up
Coming from another Git client? Here's what you get with coco ui.
| Feature | coco ui | GitKraken | lazygit | gitui | tig |
|---|---|---|---|---|---|
| Terminal-native (no Electron) | ✓ | ✗ | ✓ | ✓ | ✓ |
| Keyboard-first navigation | ✓ | ~ | ✓ | ✓ | ✓ |
| Hunk-level staging | ✓ | ✓ | ✓ | ✓ | ✗ |
| AI commit messages | ✓ | ~ | ✗ | ✗ | ✗ |
| AI code review | ✓ | ✗ | ✗ | ✗ | ✗ |
| AI changelog generation | ✓ | ✗ | ✗ | ✗ | ✗ |
| AI commit splitting | ✓ | ✗ | ~ | ✗ | ✗ |
| Multi-provider / local AI | ✓ | ✗ | ✗ | ✗ | ✗ |
| One-keystroke PR creation | ✓ | ✓ | ✗ | ✗ | ✗ |
| GitHub issue / PR triage | ✓ | ✓ | ✗ | ✗ | ✗ |
| Conflict resolution helper | ✓ | ✓ | ~ | ~ | ✗ |
| Bisect & reflog recovery | ✓ | ~ | ~ | ✗ | ~ |
| Recursive submodule drill-in | ✓ | ~ | ~ | ✗ | ✗ |
| Theming + NO_COLOR | ✓ | ~ | ~ | ~ | ~ |
| Free & open source | ✓ | ✗ | ✓ | ✓ | ✓ |
Try the workstation
Install coco and launch the TUI. One command to get started.
npx git-coco@latest init