# Install jj with Homebrew, MacPorts, Nix, scoop, winget

Git-compatible distributed version control system. Version 0.43.0 via Homebrew; verified 2026-07-02.

## Install

```sh
sudo av install brew:jj
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install jj
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install jj
```

  Evidence: MacPorts ports tree: textproc/jj/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#jj
```

  Evidence: nixpkgs package indexes: pkgs/by-name/jj/jj/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

### Windows

- Scoop (92%):

```sh
scoop install main/jj
```

  Evidence: Scoop official bucket manifest trees: bucket/jj.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id jj-vcs.jj -e
```

  Evidence: Windows Package Manager source index: jj-vcs.jj from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:jj
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/jj>
- **Version:** 0.43.0
- **Source summary:** Git-compatible distributed version control system
- **Homepage:** <https://github.com/jj-vcs/jj>
- **Repository:** <https://github.com/jj-vcs/jj>
- **Upstream docs:** <https://docs.jj-vcs.dev/latest>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/jj-vcs/jj/archive/refs/tags/v0.43.0.tar.gz>
- **Last updated:** 2026-07-02T04:05:37Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- jj (cli)
- jj (alias)

## Build dependencies

- rust

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.43.0
- Package-manager updated: 2026-07-02
- Local data: ok
- Upstream repository: https://github.com/jj-vcs/jj
- Upstream latest detected: v0.43.0 (current)
## Project history and usage

Jujutsu, invoked as `jj`, is a Git-compatible distributed version-control system that rethinks the user model around changes, automatic working-copy commits, an operation log, and undo. Its repository describes a storage abstraction that can use Git repositories as a backend while also drawing on ideas from Mercurial, Sapling, Darcs, and Google's Piper/CitC design.

### Project history

Martin von Zweigbergk says in the project README that he started Jujutsu as a hobby project in late 2019, and that it later became his full-time work at Google with help from other Googlers while remaining a community-supported open-source project. The README also records that the repository moved to the `jj-vcs` GitHub organization in December 2024.

The design grew around a few deliberately non-Git ideas: the working copy is represented as a commit, conflicts are first-class objects, operations are logged, and descendants are automatically rebased after rewrites. At the same time, the Git backend lets users keep GitHub and GitLab-oriented collaboration paths.

### Adoption history

Adoption has been driven by command-line developers who want Git interoperability without Git's index-centric workflow. The input package metadata records packaging across Homebrew, MacPorts, Nix, Scoop, and Winget, which is notable for a young VCS because it gives users a direct path on Unix-like and Windows systems.

The README notes that core developers use Jujutsu to develop Jujutsu on GitHub, turning the project into a self-hosting example for its own workflow.

### How it is used

`jj` is used as a daily version-control CLI: users initialize or colocate repositories with Git, make changes that are automatically snapshotted, rewrite and split changes, inspect history with revsets/templates, push through Git remotes, and use the operation log to understand or undo repository operations.

The tool is especially interesting for stacked-change workflows because descendants are automatically rebased when earlier changes are edited, and conflicts can be carried as repository state instead of forcing immediate textual resolution.

### Why package nerds care

For package nerds, `jj` is one of the rare modern VCS packages that is not merely a Git porcelain: it has its own data model while preserving Git-backed distribution. That makes the package a useful bellwether for how far a new developer tool can spread through standard package managers before a 1.0 line.

Its Rust implementation, Git compatibility, operation log, and self-hosting use make it a high-signal package in the developer-tools ecosystem.

### Timeline

- 2019: Martin von Zweigbergk starts Jujutsu as a hobby project.
- 2021: The README says Martin had used `jj` almost exclusively to develop the project itself since early January.
- 2023: Martin presents Google's plans for Jujutsu at Git Merge 2022, referenced by the README news section.
- 2024: Version 0.14 deprecates `jj checkout` and `jj merge`; version 0.24 adds `jj file annotate`; the repository moves to the `jj-vcs` organization.
- 2026: The changelog records 0.42.0 on 2026-06-04.

### Related projects

- The official README names Git, Mercurial, Sapling, Darcs, Breezy, and Piper/CitC as related systems or design influences. Its package neighborhood also includes `jjui`, a terminal UI built specifically for interacting with Jujutsu repositories.

### Sources

- Project README, Jujutsu documentation, working-copy documentation, changelog, and Homebrew formula metadata.


## Security Notes

No matching local secret-handling manifest was found for jj. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ~/.jjconfig.toml, $XDG_CONFIG_HOME/jj/config.toml, ~/.config/jj/config.toml, $XDG_CONFIG_HOME/jj/conf.d/*.toml, ~/.config/jj/conf.d/*.toml, /etc/jj/config.toml, /etc/jj/conf.d/*.toml
- Windows: %APPDATA%\jj\config.toml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** jj
- **Aliases:** jujutsu
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - jj: normalized package name match | nixpkgs package indexes: pkgs/by-name/jj/jj/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - jj: normalized package name match | MacPorts ports tree: textproc/jj/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/jj: normalized package name match | Scoop official bucket manifest trees: bucket/jj.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - jj-vcs.jj: normalized package name match | Windows Package Manager source index: jj-vcs.jj from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [jjui](https://www.automicvault.com/pkg/brew/jjui/) - Popular package that depends on this formula.
- [lazyjj](https://www.automicvault.com/pkg/brew/lazyjj/) - Popular package that depends on this formula.
- [cvs](https://www.automicvault.com/pkg/brew/cvs/) - Shares av.db curated category or tags: cli, developer-tools, scm, version-control.
- [fossil](https://www.automicvault.com/pkg/brew/fossil/) - Shares av.db curated category or tags: cli, developer-tools, scm, version-control.
- [mercurial](https://www.automicvault.com/pkg/brew/mercurial/) - Shares av.db curated category or tags: cli, developer-tools, scm, version-control.
- [aicommit2](https://www.automicvault.com/pkg/brew/aicommit2/) - Shares av.db curated category or tags: cli, developer-tools, jujutsu, version-control.
- [braid](https://www.automicvault.com/pkg/brew/braid/) - Shares av.db curated category or tags: cli, developer-tools, version-control.
- [breezy](https://www.automicvault.com/pkg/brew/breezy/) - Shares av.db curated category or tags: cli, developer-tools, version-control.
- [git-appraise](https://www.automicvault.com/pkg/brew/git-appraise/) - Local package facts share a topical domain. Shared terms: cli, control, developer, developer-tools, distributed.

## Combined YAML source

View the package source record on GitHub. [combined/jj.yml](https://github.com/automic-vault/db/blob/main/combined/jj.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
