sincecutoff.com

What changed in Jujutsu.

We scan this tool’s changelog a few times a day and keep the changes that would alter your agent’s next action: 37 since January 2026, each linked to its source.

YOUR MODEL or

Changes

INTRODUCED
37 CHANGES
LATEST 2026-10-07 · 1 TOOLS
OCT 072026

jj aliases can be disabled by configuration

When an alias should be unavailable, set `aliases.<name>.enabled` to `false` in a configuration layer. This can disable built-in aliases or aliases defined in earlier layers, including repository configuration.

[aliases] <name>.enabled = false
evidence github.comscore 0.95open card ↗
OCT 072026

jj file edit and delete modify files in any revision

When editing or deleting a file in a revision, use `jj file edit` or `jj file delete` with the target path; both default to revision `@`, and descendants are rebased after the commit is rewritten.

jj file edit --revision <REVSET> <FILE>
evidence github.comscore 0.98open card ↗
OCT 072026

jj git push default target revisions are configurable

When `jj git push` should target a different default revision set, configure `revsets.git-push` with the desired revset. By default, jj pushes tracking bookmarks and tags pointing to revisions in `remote_bookmarks(remote=exact:remote)..@`.

[revsets] git-push = 'remote_bookmarks(remote=exact:remote)..@'
evidence github.comscore 0.91open card ↗
OCT 072026

jj git push targets multiple remotes

When repository changes need to reach multiple configured Git remotes, run `jj git push` with repeatable `--remote` patterns or set `git.push` to a string pattern or array of patterns.

jj git push --remote '<pattern-1>' --remote '<pattern-2>'
evidence github.comscore 0.99open card ↗
OCT 072026

jj ui.editor supports path and line substitutions

When configuring jj’s editor to open a relevant file at a specified line, set `ui.editor` with `$line` for the 1-based line number and `$path` for the file path.

[ui] editor = ["emacs", "+$line", "$path"]
evidence github.comscore 0.96open card ↗
OCT 072026

jj workspace add creates colocated Git worktrees

When adding a workspace in a Git-backed repository, use `jj workspace add --colocate <destination>` to create a corresponding Git worktree or `--no-colocate` to prevent one; without either flag, creation depends on whether the current workspace is colocated and `git.colocate` is true.

jj workspace add --colocate <destination>
evidence github.comscore 0.97open card ↗
SEP 032026

jj converge resolves divergent commits

When divergence should be reconciled automatically, run `jj converge`; it uses `revsets.converge` by default and creates a replacement revision using heuristics. If prompts must be avoided, add `--no-interactive`; it warns and exits without changes if it cannot resolve automatically.

jj converge
evidence github.comscore 0.93open card ↗
AUG 062026

jj absorb adds interactive hunk selection

When absorbing only some changes from a source revision, run `jj absorb -i` and select the changes to consider. Selected changes are assigned to eligible ancestors; changes that cannot be assigned unambiguously remain in the source.

jj absorb -i
evidence github.comscore 0.98open card ↗
AUG 062026

jj diff.stat limits stat bar width

When reviewing diff statistics in a narrow layout, set `diff.stat.max-bar-width` to cap the `++--` bar while using `--stat`. For template output, `diff.stat()` accepts an optional `max_bar_width` argument for the same effect.

[diff.stat] max-bar-width = 10 jj show --stat
evidence github.comscore 0.92open card ↗
AUG 062026

jj file search adds line numbers

When reviewing repository search results, run `jj file search -n --pattern <PATTERN>` to prefix each matching line with its file path and 1-based line number. The pattern is required and defaults to regex syntax when no kind prefix is given.

jj file search -n --pattern '<PATTERN>'
evidence github.comscore 0.92open card ↗