A terminal UI for reviewing code and documents, approving actions, and making choices with your coding agent.
Give inline feedback, approve a proposed action, or choose between alternatives. Handle these decisions on their own or alongside code and document reviews, then let your agent continue from your feedback and answers.
critty is the new name of crit, originally published as kevindutra/crit, with the fixes and improvements developed as TCrit; see CHANGELOG.md for every change since crit 0.2.2.
Key Features
Review in the terminal — read multi-file diffs and documents with syntax highlighting and inline comments. Reviews open in a tmux floating pane or a Herdr tab, or in a new window of a supported terminal emulator when neither is running.
Approvals and choices — approve proposed actions, complete required confirmations, and choose between alternatives in the same session as a review or on their own.
Round trips with your agent — review, send feedback, and return for the next round. Integrations support Claude Code, Codex, OpenCode, and Antigravity CLI; legacy Gemini CLI is also available.
Inline image previews — compare image changes, preview images while writing comments, and inspect local images in a zoomable lightbox. See an image review.
Navigation and editing — browse files, search as you type, reply to comments, and edit in your preferred editor.
Mouse and keyboard — use vim-style keys or clickable tabs, comments, and controls.
Scriptable and Crit-compatible — automate comments with a Crit-compatible review format and resume saved sessions.
go install github.com/crittylabs/critty/cmd/critty@latest
Release binaries are available for macOS and Linux on amd64 and arm64. Building from source requires Go 1.27.2 or later.
Agent skills
Install the review skills for your agent:
Agent
Install for your user
Start a review
Claude Code
critty install --user claude-code
/critty
Codex
critty install --user codex
$critty
OpenCode
critty install --user opencode
/critty
Antigravity CLI
critty install --user agy
/critty
Gemini CLI
critty install --user gemini
Ask it to use the critty skill
The agy target also accepts antigravity. Omit --user to install for the current project. Use critty install agents for shared skills, or critty install all for all agent-specific integrations except legacy Gemini CLI. Choose shared skills or agent-specific variants to avoid duplicate skill names.
Rerun the installer after upgrading. In v1.2.0, Codex skills use .codex/skills in projects and ~/.codex/skills for users; remove obsolete copies from .agents/skills if needed. When migrating from TCrit, use the new binary and skill names; see the changelog for migration details.
Terminals and multiplexers
Floating panes require tmux 3.8 or later; older servers use split panes. Desktop terminal windows are not opened over SSH, so use tmux or Herdr for agent reviews, or run Critty directly. Use critty doctor to check your setup and the launcher reference for configuration and supported terminals.
Image previews
Image previews need a terminal with Kitty graphics protocol support and Unicode image placeholders, such as Kitty, Ghostty, or iTerm2. Through tmux or Herdr, enable image passthrough; for tmux, run tmux set -g allow-passthrough on. PNG, JPEG, GIF, and WebP are supported. Large or unsupported images and changed images in supplied diffs remain text placeholders; remote image URLs are not fetched.
Using Codex in tmux or Herdr
When using Codex in tmux or Herdr, start it through Critty so reviews can find the correct terminal:
critty codex
Alternatively, put the bundled codex wrapper ahead of Codex on your PATH. See terminal-filter integration for setup details.
Basic workflow
Ask your agent to use the critty skill to review its changes or a document. Read the proposal, leave inline feedback, and submit Approve, Reject, or Comment. The agent reads your verdict and comments, makes revisions, and reopens the same session.
For a manual review:
critty # Current Git changes
critty --staged # Staged changes
critty notes.md # A document
critty plan design.md # A versioned plan
critty status # Saved reviews
critty --session <id> # Resume a saved review
Reviews support mouse and keyboard navigation, search, inline comments, and your preferred editor. Progress indicators highlight unresolved feedback and unanswered items. Use the in-app Help for controls and critty --help for commands. The CLI reference covers review inputs, attachments, saved sessions, configuration, and scripted comments.
Keep project review policy in CLAUDE.md or AGENTS.md, and let the installed skills handle the review mechanics.
Approvals and choices
Ask your agent to use critty-approval to prepare an action for your review, such as publishing a PR, releasing software, or choosing the next step. Supporting documents, confirmations, and individual permissions can be reviewed alongside code or on their own.
Required confirmations must be complete before approval. Approving the review does not authorize operations whose permission checkboxes remain unchecked. Critty records your decisions; the agent executes the authorized actions.
AI review and collaboration (Experimental)
Request a second opinion with critty-ai-review, or use critty-ai-cowork to let your agent address findings with another AI before your final review. Findings return to the same Critty comment threads.
For example:
Use critty-ai-review with Codex Astra to review these changes in the current session.
AI review requires an existing Critty session and authorized access to the chosen reviewer. The bundled restricted CLI setups support Claude Code with Python 3.10+, or Codex with Python 3.11+ and the MCP Python SDK. See the linked skills for setup and dependencies; critty doctor checks prerequisites.
If you installed the earlier crit-ai-review or crit-ai-cowork skills, reinstall with critty install --force <agent> to update them.
Gallery
Recorded with the v1.2.0 candidate.
Code review with inline comments
Review round trips with Claude Code
Review round trips with Codex
Asking Codex Astra for a review from Claude Code
A comment in a Claude Code review requests a second opinion from Codex Astra. Claude starts the reviewer, and Astra's inline findings and overall report return to the same Critty session.
Reviewing a document
Previewing an image while writing a comment
Inspecting an attached image in the lightbox
Reviewing an image replacement
Attached checklist with an inline image
Review progress and pending items
Submitting with unfinished items
Incremental search
Contributing
Contributions and ideas are welcome: support for more agent CLIs and multiplexers, terminal compatibility, keyboard and mouse interaction, UI improvements, and workflows that use AI. Open an issue to suggest an improvement or send a pull request.
Development
go test ./...
go build ./...
go vet ./...
Run python3 e2e/scenarios.py for isolated CLI and TUI scenarios, and python3 e2e/doctor_images_test.py for image diagnostics. These checks need Python and tmux, but no AI accounts.
Package config loads Critty configuration from the XDG config directory (global) and the project root (.critty.config.json), mirroring crit's two-level merge semantics for the subset of keys Critty supports.
Package config loads Critty configuration from the XDG config directory (global) and the project root (.critty.config.json), mirroring crit's two-level merge semantics for the subset of keys Critty supports.
Package prompt renders the templated agent prompts emitted when a review finishes, following crit's hook naming, resolution order, and template variables (https://github.com/tomasz-tomczyk/crit).
Package prompt renders the templated agent prompts emitted when a review finishes, following crit's hook naming, resolution order, and template variables (https://github.com/tomasz-tomczyk/crit).
Package xdg resolves Critty's state and config directories following the XDG Base Directory specification on every platform, so review data lives in predictable, user-relocatable locations.
Package xdg resolves Critty's state and config directories following the XDG Base Directory specification on every platform, so review data lives in predictable, user-relocatable locations.
Click to show internal directories.
Click to hide internal directories.
go.dev uses cookies from Google to deliver and enhance the quality of its services and to
analyze traffic. Learn more.