jj

jj 0.46.0

A Git-compatible VCS that is both simple and powerful

  • By jj-vcs
  • Open Source
  • Updated Oct 7, 2026
Download for Windows

About jj

A Git-compatible VCS that is both simple and powerful

What's new in 0.46.0

About
jj is a Git-compatible version control system that is both simple and powerful. See
the installation instructions to get started.

Release highlights
- Jujutsu can now colocate workspaces besides the default one by creating Git
worktrees. Use jj workspace add --[no-]colocate and the setting
git.colocate to control this.

Breaking changes
- The minimum supported git command version is now 2.42.0, up from 2.41.0.
jj workspace add uses git worktree add --orphan, which was added in
2.42.0.
- The minimum supported Rust version (MSRV) is now 1.97.1.
- jj bisect run now runs some consistency checks before proceeding to bisect.
This helps ensure that the command can tell good and bad revisions apart,
and that the working copy does go from bad to good over the provided revset.
Use the new flag --trust-endpoints to disable these checks.
- jj split now opens a single editor session to edit descriptions for the
split commits.
- jj undo and jj redo now refuse to undo/redo an operation that was
performed in another workspace. Use --allow-cross-workspace to undo/redo
it anyway.
- jj workspace list/root no longer omit unreachable paths. All recorded
paths are now shown, with warnings displayed in jj workspace root.
- The List.get(), .first(), and .last() template functions now return
Option<T> instead of throwing an error on out-of-bounds access.

New features
- jj workspace add supports --colocate/--no-colocate flags to control
whether a Git worktree is created alongside the workspace. The default
colocates when the current workspace is colocated and the git.colocate
config is true. jj workspace forget removes the corresponding Git
worktree when one exists.
- jj git colocation status/enable/disable now work on child
workspaces. status correctly reports colocation state and includes
the workspace name. enable creates a Git worktree and disable
removes it, allowing colocation to be toggled after workspace
creation.
- jj workspace remove removes a workspace and its directory from disk. The
working-copy state is snapshotted into a commit before removal.
- Added commands jj file edit and jj file delete for editing files in any
revision without needing to change the working copy.
- jj git push now supports pushing to multiple remotes at the same time.
This can be configured via git.push set to a string pattern
or array of string patterns, or with the repeatable --remote flag,
which also accepts string patterns. …

Full release notes »

Technical details

Publisherjj-vcs
Version0.46.0
Release date2026-10-07
LicenseApache-2.0
Installer typezip
Architecturex64, arm64
Package IDjj-vcs.jj

Links & install command

Install jj from the command line with Windows Package Manager (winget):

winget install --id=jj-vcs.jj -e

cligitmercurialvcs

Older versions

  • 0.45.1
  • 0.45.0
  • 0.44.0
  • 0.43.0
  • 0.42.0
  • 0.41.0
  • 0.40.0
  • 0.39.0
  • 0.38.0