lich
lich

A terminal-first harness for coding with AI agents

Open your projects, run agents like Claude Code, Codex and opencode in real terminals, and keep git — worktrees, diffs and pull requests — in view without leaving the window.

curl -fsSL https://raw.githubusercontent.com/omartelo/lich/main/install.sh | sh

Linux one-liner — detects your distro, verifies the checksum, installs the native package.

Four projects on the tab bar and five sessions in the sidebar — each with its worktree, branch and diff badge — while a Claude Code session works in the terminal

What it does

A single static Go binary that opens its UI in your system's Chromium-family browser in --app mode. No Electron, no bundled webview.

Bring your own agent

Claude Code, Codex, opencode and more are first-class — point lich at each binary, pick the default, or choose per session.

Terminal-first sessions

Real PTY-backed shells rendered on the GPU. The scrollback survives a page reload; the footer follows cd, names the model and fills a ring with the context window in use.

Git worktrees, built in

Branch one off any base, seeded with your gitignored .env* files and a stable dev-server port. A kept worktree's session resumes its conversation later.

Projects and sessions

Projects on a tab bar, sessions in the sidebar grouped by worktree — each card carrying its directory, branch, diff badge and pull request number.

Review, and hand it back

A diff dock beside a live file tree. Right-click a selection to comment against those lines; the batch lands in the session as one prompt, unsent.

Pull requests, end to end

List them with GitHub's own qualifiers, check one out into its own worktree, review it inline, approve it and merge it — without a browser tab.

A look around

Install

Manual per-distro packages and the static binary live in INSTALL.md.

PlatformGet itNeeds at runtime
Linux The one-liner above, or AUR lich-bin chromium / google-chrome / brave on PATH, plus zenity
macOS experimental brew install omartelo/tap/lich Chrome / Chromium / Edge / Brave in /Applications
Windows experimental Installer from Releases Chrome / Edge / Brave

Everything runs on your machine

No account, no sign-in, no telemetry. The backend is a token-authenticated loopback listener, and nothing leaves localhost except the update check — a version ping to GitHub Releases. Your workspace lives in SQLite under your config directory.