Help us shape the future of Go! Take the 2026 Go Developer Survey

critty

module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2026 License: MIT

README

Critty

critty
Latest release CI status

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.

More videos and screenshots.

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.
  • Flexible review inputs — review Git changes, commit ranges, supplied diffs, or versioned plans.
  • 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.

Install

Install the binary with mise:

mise install github:crittylabs/critty

Or with Go, with $GOPATH/bin on your PATH:

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.

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

Image preview beneath a comment draft in Ghostty

Inspecting an attached image in the lightbox

Lightbox showing a local image from an attached Markdown document

Reviewing an image replacement

Before and After image previews in Ghostty

Attached checklist with an inline image

Attached review checklist with required confirmations, clickable checkboxes, and an inline image

Review progress and pending items

Actionable counters, tab markers, and a thread on an attached checklist in Ghostty

Submitting with unfinished items

Submit dialog warning about unresolved threads and unanswered required and optional items

Incremental search highlights matches while an inline image remains visible

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.

See demo/README.md for recording and publishing demos.

License

MIT

Directories

Path Synopsis
cmd
codex command
critty command
internal
cli
clipboard
Package clipboard reads images without requiring cgo in release binaries.
Package clipboard reads images without requiring cgo in release binaries.
codexwrapper
Package codexwrapper registers the invoking terminal and transparently executes Codex.
Package codexwrapper registers the invoking terminal and transparently executes Codex.
config
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.
form
Package form interprets task lists in attached Markdown documents.
Package form interprets task lists in attached Markdown documents.
git
ipc
Package ipc implements the Unix-socket protocol between the blocking critty client (run by an agent) and the TUI process that owns a review session.
Package ipc implements the Unix-socket protocol between the blocking critty client (run by an agent) and the TUI process that owns a review session.
prompt
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).
terminalbinding
Package terminalbinding locates a review terminal without changing an agent's launch options.
Package terminalbinding locates a review terminal without changing an agent's launch options.
tui
xdg
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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL