What is JayJay?
A native GUI for Jujutsu (jj) on macOS and Linux — the version control system that reimagines the git model with mutable history, changes instead of commits, and bookmarks instead of branches. Built with Rust (wrapping jj-lib directly, no CLI scraping) and SwiftUI.
Is there a GUI for Jujutsu?
Yes — JayJay is a full-featured native jj GUI for macOS and Linux: DAG visualization, unified + side-by-side diffs with tree-sitter highlighting, interdiff, diff edit mode, file annotate, one-click conflict resolution, and every common jj operation (squash, split, absorb, revert, merge, duplicate, describe, abandon) without memorizing flags.
How do I install JayJay on macOS?
brew install --cask hewigovens/tap/jayjay is the easiest path — Homebrew 6.0 trusts the cask the first time you install it. Or download the signed, notarized app from GitHub Releases. Requires macOS 26 or later.
Does JayJay support interdiff (comparing two revisions)?
Yes. Shift-click two revisions in the DAG to compare them PR-style — the same unified and side-by-side views with word-level highlighting, rendering the difference between the two change contents.
Does JayJay support side-by-side diffs?
Yes. Toggle unified and side-by-side with one click. Both use tree-sitter syntax highlighting and word-level highlights. Image files (PNG, JPG, SVG, HEIC...) render as actual before/after images, and Markdown, notebooks, CSV/TSV, SARIF, and binary property lists have rich previews when source text is not enough.
Can JayJay extract individual lines or hunks into a new change?
Yes — that's diff edit mode. Select files, hunks, or line ranges and split them into a new child or parallel change. On the working copy you can also right-click → Abandon Selected Lines to drop individual edits.
How is JayJay different from using jj on the command line?
It complements the CLI rather than replacing it. The DAG graph, visual diff review, diff-edit, evolution viewer, and bookmark manager are far easier in a GUI. The command palette (⌘ ⇧ P) searches actions and local help, and takes a jj (or !) prefix to run raw jj in-window.
Is JayJay open source?
Free and source-available. The macOS app is BSL 1.1 — free to use, fork, modify, and redistribute; only paid app-store distribution needs permission. It converts to Apache-2.0 on 2030-03-23. The Rust crates are Apache-2.0 today.
How do I install JayJay on Linux?
Run curl -fsSL https://jayjay.hewig.dev/install.sh | bash. The script installs the latest Debian package on apt-based systems and the AppImage elsewhere for x86_64 or aarch64, after verifying its checksum; run it again to upgrade. On Arch Linux, install jayjay-appimage from AUR, for example with yay -S jayjay-appimage. Add --beta to install the newest beta when it is ahead of stable. Then run jayjay /path/to/repo or open a repository from the window. The guide lists what it covers.
How do I install JayJay on Arch Linux?
Install jayjay-appimage from AUR for x86_64 or aarch64, for example with yay -S jayjay-appimage. The custom pacman repo has been retired; remove the entire [jayjay] section from /etc/pacman.conf before upgrading through AUR. To try an AppImage beta, remove the installed package first, then run the Linux installer with --beta. The guide has the steps.
Does JayJay work on Windows or Linux?
Linux and Windows use the GPUI shell and share the Rust core with macOS. Linux ships as an AppImage, Debian/Ubuntu package, and AUR package for x86_64 and aarch64; see the guide. Windows support is in beta. Install Windows x64 from the Microsoft Store, or use the portable ZIP from GitHub Releases for beta builds. Windows requires Windows 10 version 1903 or later, or Windows 11, with jj installed separately. The Store manages its updates; the portable ZIP has no automatic updater.
Can JayJay open a repository on another machine over SSH?
Yes, in the macOS app and on Linux. Choose File > Open Remote Repository…, pick a host from your SSH config, and browse to the repository. macOS, Linux, and Windows hosts are supported; on first connect JayJay installs a small helper on the host, and the host must accept key or agent authentication. Review notes stay on your machine. The guide has the details.