Skip to content

jk manual

Coverage map

Trace each implemented form from its manual chapter to recorded scenarios, repository checks, and UX findings.

The inventory is checked against jk's command builders, CLI arguments, and interaction routes. Native support, explicit command-mode alternatives, and unavailable forms are separate. Each recording includes checks of the resulting repository.

109 command, option, and interaction entries · 48 scenarios · 48 permanent recordings.

Command mode forwards explicit jj commands. Illustrative forwarded forms without a scenario link have not been exercised by this collection; the manual does not claim full jj CLI coverage.

Command forms, support, workflow guides, scenarios, and UX findings
FormSupport and guideScenariosFindings
Choose the repository
jj --repository PATH ...
Native
start

inspect-root-forms

No finding linked
Open a local repository container
jj root; jj workspace list
Native
start

startup-container

UX-18

Choose dialog appearance
jk --dialog-theme auto|dark|light
Native
start

manual-dialog-auto

manual-dialog-dark

manual-dialog-light

No finding linked
Open the configured view
jj
Native
inspect

inspect-orient

No finding linked
Open the explicit log
jj log
Native
inspect

inspect-orient

No finding linked
Limit visible history
jj [log] -n LIMIT
Native
inspect

inspect-root-forms

No finding linked
Use the configured log template
jj log
Native
inspect

inspect-log-options

No finding linked
Use the comfortable log template
jj log -T builtin_log_comfortable
Native
inspect

inspect-log-options

No finding linked
Use the compact log template
jj log -T builtin_log_compact
Native
inspect

inspect-log-options

No finding linked
Use the full-description log template
jj log -T builtin_log_compact_full_description
Native
inspect

inspect-log-options

No finding linked
Use the detailed log template
jj log -T builtin_log_detailed
Native
inspect

inspect-log-options

No finding linked
Use the oneline log template
jj log -T builtin_log_oneline
Native
inspect

inspect-log-options

No finding linked
Use the redacted log template
jj log -T builtin_log_redacted
Native
inspect

inspect-log-options

No finding linked
Use the custom log template
jj log -T TEMPLATE
Native
inspect

inspect-root-forms

No finding linked
Open hidden graph history
jj log -r ELISION_REVSET
Native
inspect

inspect-elision

No finding linked
Inspect a revision (patch)
jj diff -r REV
Native
inspect

inspect-diff-compare

UX-16

UX-17

Inspect a revision (summary)
jj diff -r REV --summary
Native
inspect

inspect-diff-formats

UX-16

Inspect a revision (stat)
jj diff -r REV --stat
Native
inspect

inspect-diff-formats

UX-16

Inspect a revision (types)
jj diff -r REV --types
Native
inspect

inspect-diff-formats

UX-16

Inspect a revision (name-only)
jj diff -r REV --name-only
Native
inspect

inspect-diff-formats

UX-16

Inspect a revision (git)
jj diff -r REV --git
Native
inspect

inspect-diff-navigate

UX-16

UX-17

Inspect a revision (color-words)
jj diff -r REV --color-words
Native
inspect

inspect-diff-compare

UX-16

UX-17

Compare two revisions (patch)
jj diff --from FROM --to TO
Native
inspect

inspect-diff-compare

UX-04

UX-16

UX-17

Compare two revisions (summary)
jj diff --from FROM --to TO --summary
Native
inspect

inspect-diff-compare

UX-04

UX-16

Compare two revisions (stat)
jj diff --from FROM --to TO --stat
Native
inspect

inspect-diff-compare

UX-04

UX-16

Compare two revisions (types)
jj diff --from FROM --to TO --types
Native
inspect

inspect-diff-compare

UX-04

UX-16

Compare two revisions (name-only)
jj diff --from FROM --to TO --name-only
Native
inspect

inspect-diff-compare

UX-04

UX-16

Compare two revisions (git)
jj diff --from FROM --to TO --git
Native
inspect

inspect-diff-compare

UX-04

UX-16

UX-17

Compare two revisions (color-words)
jj diff --from FROM --to TO --color-words
Native
inspect

inspect-diff-compare

UX-04

UX-16

UX-17

Navigate diff text and parsed files
jj diff (rendered view)
Native
inspect

inspect-diff-navigate

UX-16

UX-17

Inspect one change
jj show REV
Native
inspect

inspect-orient

UX-16

Inspect several revisions
jj show REV...
Native
inspect

inspect-root-forms

UX-16

Inspect working-copy status
jj status
Native
inspect

inspect-orient

UX-16

Limit status to filesets
jj status FILESET...
Native
inspect

inspect-root-forms

UX-16

Inspect change evolution
jj evolog -r REV
Native
inspect

inspect-history

UX-16

Start a child change
jj new PARENT
Native
shape changes

change-lifecycle

No finding linked
Create a merge change
jj new PARENT...
Native
shape changes

new-parents

UX-04

Resume an existing change
jj edit REV
Native
shape changes

change-lifecycle

change-edit-failure

No finding linked
Write a description
jj describe -m MESSAGE REV
Native
shape changes

change-lifecycle

UX-06

Abandon an empty change
jj abandon REV
Native
shape changes

abandon-empty

No finding linked
Review and abandon a change
jj abandon REV
Native
shape changes

abandon-review

UX-05

UX-06

Review an uncertain abandon
jj abandon REV
Native
shape changes

abandon-probe-failure

UX-05

UX-06

Move one change onto a new parent
jj rebase -r SOURCE -o DESTINATION
Native
rebase

manual-rebase-revision-onto

manual-invalid-operands

UX-04

UX-06

UX-07

Insert one change after a destination
jj rebase -r SOURCE -A DESTINATION
Native
rebase

manual-rebase-revision-after

manual-invalid-operands

UX-04

UX-06

UX-07

Insert one change before a destination
jj rebase -r SOURCE -B DESTINATION
Native
rebase

manual-rebase-revision-before

manual-invalid-operands

UX-04

UX-06

UX-07

Move a change and its descendants onto a new parent
jj rebase -s SOURCE -o DESTINATION
Native
rebase

manual-rebase-source-onto

manual-invalid-operands

UX-04

UX-06

UX-07

Insert a change and its descendants after a destination
jj rebase -s SOURCE -A DESTINATION
Native
rebase

manual-rebase-source-after

manual-invalid-operands

UX-04

UX-06

UX-07

Insert a change and its descendants before a destination
jj rebase -s SOURCE -B DESTINATION
Native
rebase

manual-rebase-source-before

manual-invalid-operands

UX-04

UX-06

UX-07

Move a branch onto a new parent
jj rebase -b SOURCE -o DESTINATION
Native
rebase

manual-rebase-branch-onto

manual-invalid-operands

UX-04

UX-06

UX-07

Insert a branch after a destination
jj rebase -b SOURCE -A DESTINATION
Native
rebase

manual-rebase-branch-after

manual-invalid-operands

UX-04

UX-06

UX-07

Insert a branch before a destination
jj rebase -b SOURCE -B DESTINATION
Native
rebase

manual-rebase-branch-before

manual-invalid-operands

UX-04

UX-06

UX-07

Combine a source change
jj squash --from SOURCE --into DESTINATION --use-destination-message
Native
shape changes

manual-squash

manual-invalid-operands

UX-03

UX-04

UX-06

Combine several source changes
jj squash --from SOURCE --from SOURCE... --into DESTINATION --use-destination-message
Native
shape changes

manual-squash-multiple

manual-invalid-operands

UX-03

UX-04

UX-06

Restore all paths into the working copy
jj restore --from SOURCE --into @
Native
shape changes

manual-restore

manual-invalid-operands

UX-03

UX-06

UX-04

Inspect bookmarks
jj bookmark list --all-remotes
Native
bookmarks remotes

refs-bookmarks

audit-scope-context

UX-11

Create a bookmark
jj bookmark create --revision REV -- NAME
Native
bookmarks remotes

refs-bookmarks

manual-command-restrictions

UX-11

UX-14

Move a bookmark
jj bookmark move --to REV -- exact:NAME
Native
bookmarks remotes

refs-bookmarks

manual-command-restrictions

UX-11

UX-14

Delete a local bookmark
jj bookmark delete -- exact:NAME
Native
bookmarks remotes

refs-bookmarks

manual-command-restrictions

UX-11

UX-14

Choose a remote
jj git remote list
Native
bookmarks remotes

refs-remotes

No finding linked
Fetch an explicit remote
jj git fetch --remote exact:REMOTE
Native
bookmarks remotes

refs-remotes

manual-command-restrictions

UX-11

Preview publishing one bookmark
jj git push --remote REMOTE --bookmark exact:NAME --dry-run
Native
bookmarks remotes

refs-remotes

manual-command-restrictions

UX-02

UX-11

List workspaces
jj workspace list
Native
workspaces

workspaces-inspect

No finding linked
Inspect another workspace status
jj -R ROOT status
Native
workspaces

workspaces-inspect

audit-scope-context

UX-12

UX-16

Inspect another workspace history
jj -R ROOT log
Native
workspaces

workspaces-inspect

UX-12

UX-16

Inspect another workspace diff
jj -R ROOT diff
Native
workspaces

workspaces-inspect

UX-12

UX-16

Add a workspace
jj workspace add PATH --name BASENAME
Native
workspaces

workspaces-lifecycle

UX-10

Rename workspace metadata
jj -R ROOT workspace rename NAME
Native
workspaces

workspaces-lifecycle

UX-10

Forget workspace metadata
jj workspace forget NAME
Native
workspaces

workspaces-lifecycle

UX-10

Update a stale workspace
jj -R ROOT workspace update-stale
Native
workspaces

workspaces-stale

UX-10

Inspect repository operations
jj op log
Native
recovery

inspect-operations

UX-08

Inspect one operation
jj op show OPERATION
Native
recovery

inspect-operations

UX-08

UX-16

Compare an operation with its parent
jj op diff --operation OPERATION
Native
recovery

inspect-operations

UX-08

UX-16

Undo the latest operation
jj undo
Native
recovery

change-lifecycle

audit-scope-context

No finding linked
Redo the latest operation
jj redo
Native
recovery

change-lifecycle

No finding linked
Inspect executed commands
jk session command history
Native
recovery

manual-command-mode

inspect-history

UX-08

UX-15

UX-16

Ignore working-copy files
jj --ignore-working-copy COMMAND
Native
run options

manual-run-options

manual-run-options-ignore

manual-run-options-historical

UX-06

Run at a historical operation
jj --at-operation OPERATION COMMAND
Native
run options

manual-run-options

manual-run-options-historical

UX-06

Allow immutable rewrites
jj --ignore-immutable COMMAND
Native
run options

manual-run-options

manual-run-options-immutable

UX-06

Run a captured jj command
jj ARGS...
Native
command mode

manual-command-mode

audit-scope-context

manual-command-restrictions

UX-01

UX-09

UX-12

UX-13

UX-15

UX-16

Run a captured executable
EXECUTABLE ARGS...
Native
command mode

manual-command-mode

UX-01

UX-09

UX-12

UX-13

UX-15

UX-16

Supersede a slow log refresh
jj log (background refresh)
Native
inspect

manual-cancel-refresh

No finding linked
Commit the working copy
jj commit -m MESSAGE
Command mode
shape changes

command-alternatives

UX-01

UX-03

Copy a revision
jj duplicate REV
Command mode
shape changes

command-alternatives

No finding linked
Apply inverse changes
jj revert -r REV -o DESTINATION
Command mode
shape changes

command-alternatives

No finding linked
Absorb working-copy edits
jj absorb
Command mode
shape changes

command-alternatives

No finding linked
Compare change versions
jj interdiff --from FROM --to TO
Command mode
inspect

inspect-history

No finding linked
Run an arbitrary revset query
jj log -r REVSET
Command mode
inspect

inspect-elision

No finding linked
Split by named paths
jj split FILESET... -m MESSAGE
Command mode
shape changes

command-filesets

UX-01

UX-03

Restore selected paths
jj restore --from SOURCE FILESET...
Command mode
shape changes

command-filesets

UX-03

Restore changes made in a revision
jj restore --changes-in REV FILESET...
Command mode
shape changes
Forwarded example; no exact-form recording

UX-03

Squash selected paths
jj squash --from SOURCE --into DESTINATION FILESET... --use-destination-message
Command mode
shape changes
Forwarded example; no exact-form recording

UX-03

Abandon several revisions
jj abandon REV...
Command mode
shape changes
Forwarded example; no exact-form recording No finding linked
Create with advanced options
jj new -m MESSAGE PARENT...
Command mode
shape changes
Forwarded example; no exact-form recording No finding linked
Rebase several source revisions
jj rebase -r SOURCE -r SOURCE -o DESTINATION
Command mode
rebase
Forwarded example; no exact-form recording

UX-04

Track a remote bookmark
jj bookmark track exact:NAME --remote exact:REMOTE
Command mode
bookmarks remotes

command-bookmarks

No finding linked
Stop tracking a remote bookmark
jj bookmark untrack exact:NAME --remote exact:REMOTE
Command mode
bookmarks remotes

command-bookmarks

No finding linked
Rename a local bookmark
jj bookmark rename OLD NEW
Command mode
bookmarks remotes

command-bookmarks

No finding linked
Forget local bookmark metadata
jj bookmark forget NAME
Command mode
bookmarks remotes

command-bookmarks

No finding linked
Create a workspace with explicit parents
jj workspace add PATH --name NAME -r REV
Command mode
workspaces
Forwarded example; no exact-form recording No finding linked
Restore an earlier operation
jj op restore OPERATION
Command mode
recovery
Forwarded example; no exact-form recording No finding linked
Integrate an operation
jj op integrate OPERATION
Command mode
recovery
Forwarded example; no exact-form recording No finding linked
Use an external description editor
jj describe REV
Outside jk
shape changes
Outside the native workflow

UX-01

Split interactively
jj split -i
Outside jk
shape changes
Outside the native workflow

UX-01

UX-03

Edit a diff with a tool
jj diffedit
Outside jk
shape changes
Outside the native workflow

UX-01

UX-03

Resolve using a merge tool
jj resolve
Outside jk
shape changes
Outside the native workflow

UX-01

Publish changes
jj git push
Outside jk
bookmarks remotes
Outside the native workflow

UX-02

Mutate selected hunks
jj squash/restore/commit/split -i
Outside jk
shape changes
Outside the native workflow

UX-03

Restore at a historical operation
jj --at-operation OPERATION restore --from SOURCE --into DESTINATION
Command mode
run options
Forwarded example; no exact-form recording

UX-06

Run without integrating an operation
jj --no-integrate-operation COMMAND
Command mode
run options
Forwarded example; no exact-form recording No finding linked