Skip to content

jk manual

Command reference

Find an implemented command, its operands and options, and the workflow that demonstrates it.

This reference describes jk 0.3.0 with jj 0.45.1. Native means jk provides the interaction. Command mode means an explicit command can run through :. Outside jk identifies forms that need a normal terminal or are not available as a jk interaction.

109 forms

Choose the repository

Native

jj --repository PATH ...

Open a repository without changing shell directories.

In jk

jk -R PATH

Options
-R --repository
Result
All native views use the selected repository.
  • The repository flag is a top-level jk option; supply it before a subcommand.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Quit jk and restart with different startup arguments; a startup argument is not an in-app draft.
Failure
Argument or initial-load failures may occur before the UI or Command History exists; read stderr in the launching terminal.
Recover
Correct the startup argument, path or repository configuration and restart jk.

Open a local repository container

Native

jj root; jj workspace list

Find a child workspace when the repository root has no working copy.

In jk

jk from a no-working-copy container

Result
The resolver intends to select the default child, otherwise the lexicographically first child. With tested jj 0.45.1, its exact diagnostic check misses No working copy. (with a period), so automatic selection fails and startup lacks the intended working-copy context.
  • Known defect UX-18: automatic child selection fails with the No working copy. diagnostic emitted by tested jj 0.45.1. Use an explicit repository path.
  • A sibling workspace outside the container is not selected automatically.
Starting state, verification, and recovery
Before
A local jj outer container with no working-copy commit and at least one registered child workspace under its repository root.
Verify
Observe the no-working-copy result from bare jk, then quit and run jk -R default; status must show the child working copy and workspace inspection must list it.
Cancel
Quit jk and restart with different startup arguments; a startup argument is not an in-app draft.
Failure
Argument or initial-load failures may occur before the UI or Command History exists; read stderr in the launching terminal.
Recover
From the container, run jk -R default or change into the intended child workspace before launching.

Choose dialog appearance

Native

jk --dialog-theme auto|dark|light

Keep dialogs readable against the terminal.

In jk

jk --dialog-theme dark

Options
auto dark light
Result
Changes jk dialog surfaces; jj controls its own repository output colors.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Quit jk and restart with different startup arguments; a startup argument is not an in-app draft.
Failure
Argument or initial-load failures may occur before the UI or Command History exists; read stderr in the launching terminal.
Recover
Correct the startup argument, path or repository configuration and restart jk.

Open the configured view

Native

jj

See the repository using its jj default command and template.

In jk

jk

Result
Renders jj output and uses a separate semantic pass for stable navigation.
Affects
working-copy snapshot
  • The configured default must be log-like and accept the semantic template query.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Match the rendered descriptions and working-copy marker against jj log; loading may snapshot changed files.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Open the explicit log

Native

jj log

Open log even when the configured home command differs.

In jk

jk log

L

Result
Shows the explicit log; H returns to the configured home view.
Affects
working-copy snapshot
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Limit visible history

Native

jj [log] -n LIMIT

Keep the initial graph bounded.

In jk

jk -n LIMIT

jk log -n LIMIT

Options
-n --limit
Result
Subcommand limit takes precedence over top-level limit.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Quit jk and restart with different startup arguments; a startup argument is not an in-app draft.
Failure
Argument or initial-load failures may occur before the UI or Command History exists; read stderr in the launching terminal.
Recover
Correct the startup argument, path or repository configuration and restart jk.

Use the configured log template

Native

jj log

Choose the amount of detail visible per change.

In jk

V → Template → configured

Result
Only rendered text changes; semantic revision navigation remains stable.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Use the comfortable log template

Native

jj log -T builtin_log_comfortable

Choose the amount of detail visible per change.

In jk

V → Template → comfortable

Options
-T --template
Result
Only rendered text changes; semantic revision navigation remains stable.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Use the compact log template

Native

jj log -T builtin_log_compact

Choose the amount of detail visible per change.

In jk

V → Template → compact

Options
-T --template
Result
Only rendered text changes; semantic revision navigation remains stable.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Use the full-description log template

Native

jj log -T builtin_log_compact_full_description

Choose the amount of detail visible per change.

In jk

V → Template → full description

Options
-T --template
Result
Only rendered text changes; semantic revision navigation remains stable.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Use the detailed log template

Native

jj log -T builtin_log_detailed

Choose the amount of detail visible per change.

In jk

V → Template → detailed

Options
-T --template
Result
Only rendered text changes; semantic revision navigation remains stable.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Use the oneline log template

Native

jj log -T builtin_log_oneline

Choose the amount of detail visible per change.

In jk

V → Template → oneline

Options
-T --template
Result
Only rendered text changes; semantic revision navigation remains stable.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Use the redacted log template

Native

jj log -T builtin_log_redacted

Choose the amount of detail visible per change.

In jk

V → Template → redacted

Options
-T --template
Result
Only rendered text changes; semantic revision navigation remains stable.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Use the custom log template

Native

jj log -T TEMPLATE

Choose the amount of detail visible per change.

In jk

jk log -T TEMPLATE

Options
-T --template
Result
Only rendered text changes; semantic revision navigation remains stable.
  • Custom is selectable only after starting jk log -T TEMPLATE.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Quit jk and restart with different startup arguments; a startup argument is not an in-app draft.
Failure
Argument or initial-load failures may occur before the UI or Command History exists; read stderr in the launching terminal.
Recover
Correct the startup argument, path or repository configuration and restart jk.

Open hidden graph history

Native

jj log -r ELISION_REVSET

Reveal revisions hidden by the current graph.

In jk

Enter or Right on a ~ row

Result
Pushes a drill-down graph; Left or Backspace returns to the previous graph.
  • This is an elision action, not an arbitrary revset input.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Inspect a revision (patch)

Native

jj diff -r REV

Review a change against its parent.

In jk

d from log

V → patch

Options
-r --revision positional REV alias
Result
Displays jj patch output with navigation appropriate to the rendered format.
  • No native diff fileset operand.
  • Known defect UX-17: hunk controls do not work with ordinary jj output. File navigation depends on the configured diff format; Git-format output is not parsed into files.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Inspect a revision (summary)

Native

jj diff -r REV --summary

Review a change against its parent.

In jk

d from log

V → summary

Options
-r --revision positional REV alias --summary
Result
Displays jj summary output with navigation appropriate to the rendered format.
  • No native diff fileset operand.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Inspect a revision (stat)

Native

jj diff -r REV --stat

Review a change against its parent.

In jk

d from log

V → stat

Options
-r --revision positional REV alias --stat
Result
Displays jj stat output with navigation appropriate to the rendered format.
  • No native diff fileset operand.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Inspect a revision (types)

Native

jj diff -r REV --types

Review a change against its parent.

In jk

d from log

V → types

Options
-r --revision positional REV alias --types
Result
Displays jj types output with navigation appropriate to the rendered format.
  • No native diff fileset operand.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Inspect a revision (name-only)

Native

jj diff -r REV --name-only

Review a change against its parent.

In jk

d from log

V → name-only

Options
-r --revision positional REV alias --name-only
Result
Displays jj name-only output with navigation appropriate to the rendered format.
  • No native diff fileset operand.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Inspect a revision (git)

Native

jj diff -r REV --git

Review a change against its parent.

In jk

d from log

V → git

Options
-r --revision positional REV alias --git
Result
Displays jj git output with navigation appropriate to the rendered format.
  • No native diff fileset operand.
  • Known defect UX-17: hunk movement and folding are ineffective for this output format. Git-format output also lacks parsed file navigation and file folding.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Inspect a revision (color-words)

Native

jj diff -r REV --color-words

Review a change against its parent.

In jk

d from log

V → color-words

Options
-r --revision positional REV alias --color-words
Result
Displays jj color-words output with navigation appropriate to the rendered format.
  • No native diff fileset operand.
  • Known defect UX-17: hunk movement and folding are ineffective for this output format. File navigation and file folding work for recognized regular-file sections.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Compare two revisions (patch)

Native

jj diff --from FROM --to TO

Review the tree difference between two explicit revisions.

In jk

jk diff --from FROM --to TO

V → patch

Options
--from --to
Result
Displays jj patch output with navigation appropriate to the rendered format.
  • No native diff fileset operand.
  • FROM and TO must be supplied together; revision form cannot be combined with them.
  • Known defect UX-17: hunk controls do not work with ordinary jj output. File navigation depends on the configured diff format; Git-format output is not parsed into files.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Compare two revisions (summary)

Native

jj diff --from FROM --to TO --summary

Review the tree difference between two explicit revisions.

In jk

jk diff --from FROM --to TO

V → summary

Options
--from --to --summary
Result
Displays jj summary output with navigation appropriate to the rendered format.
  • No native diff fileset operand.
  • FROM and TO must be supplied together; revision form cannot be combined with them.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Compare two revisions (stat)

Native

jj diff --from FROM --to TO --stat

Review the tree difference between two explicit revisions.

In jk

jk diff --from FROM --to TO

V → stat

Options
--from --to --stat
Result
Displays jj stat output with navigation appropriate to the rendered format.
  • No native diff fileset operand.
  • FROM and TO must be supplied together; revision form cannot be combined with them.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Compare two revisions (types)

Native

jj diff --from FROM --to TO --types

Review the tree difference between two explicit revisions.

In jk

jk diff --from FROM --to TO

V → types

Options
--from --to --types
Result
Displays jj types output with navigation appropriate to the rendered format.
  • No native diff fileset operand.
  • FROM and TO must be supplied together; revision form cannot be combined with them.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Compare two revisions (name-only)

Native

jj diff --from FROM --to TO --name-only

Review the tree difference between two explicit revisions.

In jk

jk diff --from FROM --to TO

V → name-only

Options
--from --to --name-only
Result
Displays jj name-only output with navigation appropriate to the rendered format.
  • No native diff fileset operand.
  • FROM and TO must be supplied together; revision form cannot be combined with them.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Compare two revisions (git)

Native

jj diff --from FROM --to TO --git

Review the tree difference between two explicit revisions.

In jk

jk diff --from FROM --to TO

V → git

Options
--from --to --git
Result
Displays jj git output with navigation appropriate to the rendered format.
  • No native diff fileset operand.
  • FROM and TO must be supplied together; revision form cannot be combined with them.
  • Known defect UX-17: hunk movement and folding are ineffective for this output format. Git-format output also lacks parsed file navigation and file folding.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Compare two revisions (color-words)

Native

jj diff --from FROM --to TO --color-words

Review the tree difference between two explicit revisions.

In jk

jk diff --from FROM --to TO

V → color-words

Options
--from --to --color-words
Result
Displays jj color-words output with navigation appropriate to the rendered format.
  • No native diff fileset operand.
  • FROM and TO must be supplied together; revision form cannot be combined with them.
  • Known defect UX-17: hunk movement and folding are ineffective for this output format. File navigation and file folding work for recognized regular-file sections.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Navigate diff text and parsed files

Native

jj diff (rendered view)

Find text and recognized file sections in a rendered diff.

In jk

[ / ] files; { / } hunks; f file list; h / l file folds; - / + hunk folds; / n N search

Result
Text search and scrolling work. Color-words regular-file sections support file navigation and file folding. Normal Git and color-words output do not produce recognized hunk sections, so hunk movement and folding are ineffective.
  • Known defect UX-17: Git-format headers are not parsed into file sections, so file-list navigation and file folding are unavailable in that format.
  • Known defect UX-17: color-words file sections lack @@ headers, while Git @@ headers lack recognized file sections; native hunk movement and folding do not work on ordinary output.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check that f lists the color-words file paths and that a folded file hides its body. Search must reach the matching text. Do not treat pressing hunk keys as proof that a hunk was recognized.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Inspect one change

Native

jj show REV

Read a change description and patch together.

In jk

Enter on a log or bookmark row

jk show REV

Result
Shows the selected revision; marks do not replace the selected row.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Inspect several revisions

Native

jj show REV...

Read several explicit revisions in one view.

In jk

jk show REV REV...

Result
Passes revisions in argument order to jj.
  • The startup form requires at least one revision.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Inspect working-copy status

Native

jj status

Find changed files and current working-copy metadata.

In jk

s

jk status

Result
Displays jj status for the active repository.
Affects
working-copy snapshot
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Limit status to filesets

Native

jj status FILESET...

Check a subset of working-copy paths.

In jk

jk status FILESET...

Result
Passes each fileset directly to jj.
Affects
working-copy snapshot
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Inspect change evolution

Native

jj evolog -r REV

Understand earlier versions of the selected change.

In jk

v on a log row

Result
Shows the evolution log for the selected revision.
  • No native evolog display or patch options.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Start a child change

Native

jj new PARENT

Begin work on a new change above the selected revision.

In jk

a n on a log row

Result
Creates a new working-copy change and selects it.
Affects
new change, working-copy files
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Runs immediately when a n is chosen; Escape can close the action menu before choosing it.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C, then a u to undo the latest operation if that is still the new operation.

Create a merge change

Native

jj new PARENT...

Start a change with multiple parents.

In jk

Space to mark parents in order, then a n

Result
Creates a new working-copy change using ordered marks instead of the cursor.
Affects
new merge change, working-copy files
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Runs immediately when a n is chosen; clear marks with c or leave the action menu before choosing it.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the operation log before choosing undo; undo affects the latest repository operation.

Resume an existing change

Native

jj edit REV

Make an existing change the working copy.

In jk

a e on a log row

Result
Switches the working-copy revision and updates its files.
Affects
working-copy change, working-copy files
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Runs immediately when a e is chosen; Escape closes the action menu before selection.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the operation log before choosing undo; undo affects the latest repository operation.

Write a description

Native

jj describe -m MESSAGE REV

Explain the selected change.

In jk

a m; Ctrl-j inserts a newline; Enter saves

Options
-m MESSAGE
Result
Rewrites the selected revision description using the inline editor.
Affects
selected revision, descendants
  • Foreground editor handoff and author/reset-author options have no native form.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Escape discards the inline draft.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the operation log before choosing undo; undo affects the latest repository operation.

Abandon an empty change

Native

jj abandon REV

Remove an empty revision without a confirmation.

In jk

a a on a log row

Result
Abandons the selected revision and lets jj rebase descendants.
Affects
selected revision, descendants, possibly working-copy files
  • One revision at a time in the native form.
Starting state, verification, and recovery
Before
A selected mutable revision whose tree matches its parent tree; the emptiness probe succeeds.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Runs immediately after a successful empty probe.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the resulting operation and use a u while it remains the latest operation.

Review and abandon a change

Native

jj abandon REV

Inspect the content being abandoned before removing it.

In jk

a a on a log row

Result
Abandons the selected revision and lets jj rebase descendants.
Affects
selected revision, descendants, possibly working-copy files
  • One revision at a time in the native form.
Starting state, verification, and recovery
Before
A selected mutable revision with file changes that must be reviewed before abandonment.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Cancel is initially selected; n or Escape cancels. In embedded diff, Escape returns to the summary.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the resulting operation and use a u while it remains the latest operation.

Review an uncertain abandon

Native

jj abandon REV

Require review when the emptiness probe fails.

In jk

a a on a log row

Result
Abandons the selected revision and lets jj rebase descendants.
Affects
selected revision, descendants, possibly working-copy files
  • One revision at a time in the native form.
Starting state, verification, and recovery
Before
A selected revision for which the emptiness probe returns an error; the fixture injects this failure.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Cancel is initially selected; n or Escape cancels. In embedded diff, Escape returns to the summary.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the resulting operation and use a u while it remains the latest operation.

Move one change onto a new parent

Native

jj rebase -r SOURCE -o DESTINATION

Change the parent of one change.

In jk

R; source r; placement o; choose destination; Enter preview; Enter run

Options
-r -o
Result
Only SOURCE is selected for movement. Its former children are reconnected to its old parents. The roots of the moved set become children of DESTINATION. Existing destination children outside the moved set are not inserted behind it. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
Affects
selected source scope, rewritten source commits, source descendants
  • At most one marked source is accepted; otherwise use the cursor.
  • Only one destination is accepted.
  • Destination search filters loaded visible rows.
Starting state, verification, and recovery
Before
A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
Verify
Check the moved revisions’ parent edges and the former source location. Confirm unrelated destination children kept their parents. Inspect diffs for conflicts, then open C and the resulting operation.
Cancel
Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the operation log before choosing undo; undo affects the latest repository operation.

Insert one change after a destination

Native

jj rebase -r SOURCE -A DESTINATION

Make one change come after an existing destination in the graph.

In jk

R; source r; placement A; choose destination; Enter preview; Enter run

Options
-r -A
Result
Only SOURCE is selected for movement. Its former children are reconnected to its old parents. The roots of the moved set become children of DESTINATION. Existing destination descendants are rebased onto the moved set, placing the moved work between DESTINATION and that later work. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
Affects
selected source scope, rewritten source commits, source descendants, destination descendants, possibly other workspaces’ working-copy revisions
  • At most one marked source is accepted; otherwise use the cursor.
  • Only one destination is accepted.
  • Destination search filters loaded visible rows.
Starting state, verification, and recovery
Before
A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
Verify
Check the moved revisions’ parent edges and the former source location. Check the destination and its existing descendants after insertion, including changes checked out by other workspaces. Inspect diffs for conflicts, then open C and the resulting operation.
Cancel
Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the operation log before choosing undo; undo affects the latest repository operation.

Insert one change before a destination

Native

jj rebase -r SOURCE -B DESTINATION

Make one change come before an existing destination in the graph.

In jk

R; source r; placement B; choose destination; Enter preview; Enter run

Options
-r -B
Result
Only SOURCE is selected for movement. Its former children are reconnected to its old parents. The roots of the moved set take DESTINATION’s previous parents. DESTINATION and its descendants are then rebased onto the moved set, placing the moved work immediately before the destination. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
Affects
selected source scope, rewritten source commits, source descendants, destination revision, destination descendants, possibly other workspaces’ working-copy revisions
  • At most one marked source is accepted; otherwise use the cursor.
  • Only one destination is accepted.
  • Destination search filters loaded visible rows.
Starting state, verification, and recovery
Before
A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
Verify
Check the moved revisions’ parent edges and the former source location. Check the destination and its existing descendants after insertion, including changes checked out by other workspaces. Inspect diffs for conflicts, then open C and the resulting operation.
Cancel
Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the operation log before choosing undo; undo affects the latest repository operation.

Move a change and its descendants onto a new parent

Native

jj rebase -s SOURCE -o DESTINATION

Change the parent of a change and its descendants.

In jk

R; source s; placement o; choose destination; Enter preview; Enter run

Options
-s -o
Result
SOURCE and all its descendants move together; the moved descendants retain their relationships within that set. The roots of the moved set become children of DESTINATION. Existing destination children outside the moved set are not inserted behind it. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
Affects
selected source scope, rewritten source commits, source descendants
  • At most one marked source is accepted; otherwise use the cursor.
  • Only one destination is accepted.
  • Destination search filters loaded visible rows.
Starting state, verification, and recovery
Before
A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
Verify
Check the moved revisions’ parent edges and the former source location. Confirm unrelated destination children kept their parents. Inspect diffs for conflicts, then open C and the resulting operation.
Cancel
Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the operation log before choosing undo; undo affects the latest repository operation.

Insert a change and its descendants after a destination

Native

jj rebase -s SOURCE -A DESTINATION

Make a change and its descendants come after an existing destination in the graph.

In jk

R; source s; placement A; choose destination; Enter preview; Enter run

Options
-s -A
Result
SOURCE and all its descendants move together; the moved descendants retain their relationships within that set. The roots of the moved set become children of DESTINATION. Existing destination descendants are rebased onto the moved set, placing the moved work between DESTINATION and that later work. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
Affects
selected source scope, rewritten source commits, source descendants, destination descendants, possibly other workspaces’ working-copy revisions
  • At most one marked source is accepted; otherwise use the cursor.
  • Only one destination is accepted.
  • Destination search filters loaded visible rows.
Starting state, verification, and recovery
Before
A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
Verify
Check the moved revisions’ parent edges and the former source location. Check the destination and its existing descendants after insertion, including changes checked out by other workspaces. Inspect diffs for conflicts, then open C and the resulting operation.
Cancel
Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the operation log before choosing undo; undo affects the latest repository operation.

Insert a change and its descendants before a destination

Native

jj rebase -s SOURCE -B DESTINATION

Make a change and its descendants come before an existing destination in the graph.

In jk

R; source s; placement B; choose destination; Enter preview; Enter run

Options
-s -B
Result
SOURCE and all its descendants move together; the moved descendants retain their relationships within that set. The roots of the moved set take DESTINATION’s previous parents. DESTINATION becomes a child of the tips of the moved set, and its descendants keep their relationships to the rewritten destination. For a linear SOURCE-to-CHILD stack, the resulting order is the old destination parent, SOURCE, CHILD, then DESTINATION. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
Affects
selected source scope, rewritten source commits, source descendants, destination revision, destination descendants, possibly other workspaces’ working-copy revisions
  • At most one marked source is accepted; otherwise use the cursor.
  • Only one destination is accepted.
  • Destination search filters loaded visible rows.
Starting state, verification, and recovery
Before
A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
Verify
Check that the moved roots have the destination’s old parents and that the destination has the moved tips as parents. When SOURCE has moved descendants, the destination follows those descendants, not SOURCE directly. Check preserved internal edges and any revisions checked out by other workspaces; inspect diffs for conflicts, then open C and the resulting operation.
Cancel
Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the operation log before choosing undo; undo affects the latest repository operation.

Move a branch onto a new parent

Native

jj rebase -b SOURCE -o DESTINATION

Change the parent of a branch.

In jk

R; source b; placement o; choose destination; Enter preview; Enter run

Options
-b -o
Result
The moved set includes SOURCE, its ancestors that are not ancestors of DESTINATION, and every descendant of those revisions. The roots of the moved set become children of DESTINATION. Existing destination children outside the moved set are not inserted behind it. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
Affects
selected source scope, rewritten source commits, source descendants
  • At most one marked source is accepted; otherwise use the cursor.
  • Only one destination is accepted.
  • Destination search filters loaded visible rows.
Starting state, verification, and recovery
Before
A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
Verify
Check the moved revisions’ parent edges and the former source location. Confirm unrelated destination children kept their parents. Inspect diffs for conflicts, then open C and the resulting operation.
Cancel
Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the operation log before choosing undo; undo affects the latest repository operation.

Insert a branch after a destination

Native

jj rebase -b SOURCE -A DESTINATION

Make a branch come after an existing destination in the graph.

In jk

R; source b; placement A; choose destination; Enter preview; Enter run

Options
-b -A
Result
The moved set includes SOURCE, its ancestors that are not ancestors of DESTINATION, and every descendant of those revisions. The roots of the moved set become children of DESTINATION. Existing destination descendants are rebased onto the moved set, placing the moved work between DESTINATION and that later work. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
Affects
selected source scope, rewritten source commits, source descendants, destination descendants, possibly other workspaces’ working-copy revisions
  • At most one marked source is accepted; otherwise use the cursor.
  • Only one destination is accepted.
  • Destination search filters loaded visible rows.
Starting state, verification, and recovery
Before
A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
Verify
Check the moved revisions’ parent edges and the former source location. Check the destination and its existing descendants after insertion, including changes checked out by other workspaces. Inspect diffs for conflicts, then open C and the resulting operation.
Cancel
Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the operation log before choosing undo; undo affects the latest repository operation.

Insert a branch before a destination

Native

jj rebase -b SOURCE -B DESTINATION

Make a branch come before an existing destination in the graph.

In jk

R; source b; placement B; choose destination; Enter preview; Enter run

Options
-b -B
Result
The moved set includes SOURCE, its ancestors that are not ancestors of DESTINATION, and every descendant of those revisions. The roots of the moved set take DESTINATION’s previous parents. DESTINATION becomes a child of the tips of the moved set, and its descendants keep their relationships to the rewritten destination. For a linear SOURCE-to-CHILD stack, the resulting order is the old destination parent, SOURCE, CHILD, then DESTINATION. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
Affects
selected source scope, rewritten source commits, source descendants, destination revision, destination descendants, possibly other workspaces’ working-copy revisions
  • At most one marked source is accepted; otherwise use the cursor.
  • Only one destination is accepted.
  • Destination search filters loaded visible rows.
Starting state, verification, and recovery
Before
A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
Verify
Check that the moved roots have the destination’s old parents and that the destination has the moved tips as parents. When SOURCE has moved descendants, the destination follows those descendants, not SOURCE directly. Check preserved internal edges and any revisions checked out by other workspaces; inspect diffs for conflicts, then open C and the resulting operation.
Cancel
Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the operation log before choosing undo; undo affects the latest repository operation.

Combine a source change

Native

jj squash --from SOURCE --into DESTINATION --use-destination-message

Move all content from the marked source changes into the cursor destination.

In jk

Mark a source with Space; move to a distinct destination; a s

Options
--from (repeatable) --into --use-destination-message
Result
Keeps the destination description; jj may abandon emptied sources.
Affects
source revisions, destination revision, descendants
  • Whole changes only; marks are required.
  • The destination cannot also be a source.
Starting state, verification, and recovery
Before
One or more mutable source revisions marked in order and a distinct cursor destination that is not marked.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Escape closes the pending dialog without running it.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the operation log before choosing undo; undo affects the latest repository operation.

Combine several source changes

Native

jj squash --from SOURCE --from SOURCE... --into DESTINATION --use-destination-message

Move all content from the marked source changes into the cursor destination.

In jk

Mark sources with Space; move to a distinct destination; a s

Options
--from (repeatable) --into --use-destination-message
Result
Keeps the destination description; jj may abandon emptied sources.
Affects
source revisions, destination revision, descendants
  • Whole changes only; marks are required.
  • The destination cannot also be a source.
Starting state, verification, and recovery
Before
One or more mutable source revisions marked in order and a distinct cursor destination that is not marked.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Escape closes the pending dialog without running it.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the operation log before choosing undo; undo affects the latest repository operation.

Restore all paths into the working copy

Native

jj restore --from SOURCE --into @

Replace the working-copy tree with all paths from the selected source.

In jk

Clear marks; select source; a r

Options
--from --into @
Result
Uses an exact source commit and the latest working-copy destination.
Affects
working-copy tree
  • All paths only.
  • Any revision marks are rejected.
  • Historical operation execution is unavailable for restore.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Escape closes the pending dialog without running it.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the operation log before choosing undo; undo affects the latest repository operation.

Inspect bookmarks

Native

jj bookmark list --all-remotes

Inspect named revisions and their local and remote state.

In jk

B

Result
Shows exact names and targets.
  • Native list uses its own structured template.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Refresh the list after correcting repository configuration.

Create a bookmark

Native

jj bookmark create --revision REV -- NAME

Inspect named revisions and create a bookmark.

In jk

B, then c

Result
Refreshes bookmarks and retains the command result in history.
Affects
local bookmark reference
  • Remote or conflicted rows cannot use local mutation actions.
  • These mutations are rejected in : command mode.
  • The revision field defaults to @, not the previous log selection.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Escape closes the pending dialog without running it.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and op log; a u can undo the latest local bookmark operation.

Move a bookmark

Native

jj bookmark move --to REV -- exact:NAME

Inspect named revisions and move a bookmark.

In jk

B, select local bookmark, m

Result
Refreshes bookmarks and retains the command result in history.
Affects
local bookmark reference
  • Remote or conflicted rows cannot use local mutation actions.
  • These mutations are rejected in : command mode.
  • The revision field defaults to @; --allow-backwards has no native control.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Escape closes the pending dialog without running it.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and op log; a u can undo the latest local bookmark operation.

Delete a local bookmark

Native

jj bookmark delete -- exact:NAME

Inspect named revisions and delete a local bookmark.

In jk

B, select local bookmark, x

Result
Refreshes bookmarks and retains the command result in history.
Affects
local bookmark reference
  • Remote or conflicted rows cannot use local mutation actions.
  • These mutations are rejected in : command mode.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Escape closes the pending dialog without running it.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and op log; a u can undo the latest local bookmark operation.

Choose a remote

Native

jj git remote list

Bind a network command to an explicit remote.

In jk

F or P when a remote must be chosen

Result
Lists configured remotes before the command preview.
  • No native add/remove/rename/set-url form.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Fetch an explicit remote

Native

jj git fetch --remote exact:REMOTE

Bring remote commits and references into the local repository.

In jk

B then F

Options
--remote
Result
Runs fetch after confirmation, then refreshes bookmark state.
Affects
local commit store, remote bookmark references, tracking references
  • Rejected in : command mode.
Starting state, verification, and recovery
Before
A jj Git repository with at least one configured remote; an empty bookmark list is allowed.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect the resulting operation before undoing local reference changes; downloaded objects may remain.

Preview publishing one bookmark

Native

jj git push --remote REMOTE --bookmark exact:NAME --dry-run

See what jj would publish for one bookmark and remote.

In jk

B, select bookmark, P

Options
--dry-run --bookmark --remote
Result
Contacts the remote if needed but publishes no changes.
Affects
remote connection
  • This never performs a real push.
  • Rejected in : command mode, including --dry-run.
Starting state, verification, and recovery
Before
A normal local bookmark with one unconflicted target and at least one configured Git remote.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Read the dry-run result. Leave jk and run an explicit jj git push when ready to publish.

List workspaces

Native

jj workspace list

Inspect the selected workspace without changing the app origin repository.

In jk

W or jk workspaces

Result
Shows registered workspace names, paths and working-copy state. W opens this list from another view; jk workspaces starts here.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the workspace list; correct the path or stale state before retrying.

Inspect another workspace status

Native

jj -R ROOT status

Inspect the selected workspace without changing the app origin repository.

In jk

W, select workspace, Enter or s

Result
Shows workspace-specific output; Backspace returns to the workspace list.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the workspace list; correct the path or stale state before retrying.

Inspect another workspace history

Native

jj -R ROOT log

Inspect the selected workspace without changing the app origin repository.

In jk

W, select workspace, l

Result
Shows workspace-specific output; Backspace returns to the workspace list.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the workspace list; correct the path or stale state before retrying.

Inspect another workspace diff

Native

jj -R ROOT diff

Inspect the selected workspace without changing the app origin repository.

In jk

W, select workspace, d

Result
Shows workspace-specific output; Backspace returns to the workspace list.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the workspace list; correct the path or stale state before retrying.

Add a workspace

Native

jj workspace add PATH --name BASENAME

Create another directory attached to the same jj repository.

In jk

W, a a

Options
PATH; name is derived from destination basename
Result
Creates a directory and registration.
Affects
workspace metadata, workspace files
  • Add accepts a path and derives the workspace name from its basename; independent name, revision, message and sparse-pattern options require command mode.
Starting state, verification, and recovery
Before
A selected workspace row with a known root and an unused destination path.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Escape closes the pending dialog without running it.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the created directory. Forget metadata only after checking that the directory has no needed work.

Rename workspace metadata

Native

jj -R ROOT workspace rename NAME

Change a workspace name without moving its directory.

In jk

W, select workspace, a r

Result
Updates the selected workspace name.
Affects
workspace metadata
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Escape closes the pending dialog without running it.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Rename again to the previous name.

Forget workspace metadata

Native

jj workspace forget NAME

Remove workspace registration without deleting its files.

In jk

W, select workspace, a f

Result
Removes registration; the directory remains.
Affects
workspace metadata
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Escape closes the pending dialog without running it.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Preserve the existing directory and inspect the forget operation in the operation log before undoing it. Workspace add requires a new destination; it does not register an existing directory in place.

Update a stale workspace

Native

jj -R ROOT workspace update-stale

Bring a workspace working copy up to date after shared history changed.

In jk

W, select workspace, u or a u

Result
Updates the selected workspace files and stale metadata.
Affects
workspace metadata, workspace files
Starting state, verification, and recovery
Before
A registered workspace whose working copy is stale relative to shared repository history.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Escape closes the pending dialog without running it.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and repository operations before undoing; check files in the selected workspace.

Inspect repository operations

Native

jj op log

Understand repository-wide changes independently of commit history.

In jk

o

Result
Renders jj operation output for the selected operation.
  • Operation display flags and from/to comparisons require command mode.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the previous view; Escape closes an open overlay.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Inspect one operation

Native

jj op show OPERATION

Understand repository-wide changes independently of commit history.

In jk

o, select operation, Enter

Result
Renders jj operation output for the selected operation.
  • Operation display flags and from/to comparisons require command mode.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Compare an operation with its parent

Native

jj op diff --operation OPERATION

Understand repository-wide changes independently of commit history.

In jk

o, select operation, d

Result
Renders jj operation output for the selected operation.
  • Operation display flags and from/to comparisons require command mode.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Undo the latest operation

Native

jj undo

Recover the repository state before the latest operation.

In jk

a u

Result
Runs jj undo and refreshes the log.
Affects
repository operation state, possibly working-copy files
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Runs immediately when the action is chosen; Escape closes the menu before selection.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect op log and use the opposite recovery action only after checking the current operation state.

Redo the latest operation

Native

jj redo

Recover the operation most recently undone.

In jk

a U

Result
Runs jj redo and refreshes the log.
Affects
repository operation state, possibly working-copy files
Starting state, verification, and recovery
Before
A repository whose current operation has an undone operation that jj can redo.
Verify
Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
Cancel
Runs immediately when the action is chosen; Escape closes the menu before selection.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect op log and use the opposite recovery action only after checking the current operation state.

Inspect executed commands

Native

jk session command history

Connect a command, its output and resulting repository operation.

In jk

C; Enter details; o operation; y copy

Result
Shows commands and diagnostics for the current jk session; an exact operation link opens when available.
  • Session history is not a persistent audit log.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Backspace leaves command details for history; Backspace again returns to the preceding view. Escape in command details quits jk.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Return to the previous view, correct the operand or configuration, and refresh.

Ignore working-copy files

Native

jj --ignore-working-copy COMMAND

Control execution of the pending command without changing future defaults.

In jk

o in rebase/squash/restore preview → Working copy

Options
Working copy
Result
a applies the draft to the preview; a fresh Enter confirmation executes it.
Affects
pending command options
  • Only rebase, squash and restore previews expose Run options.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape discards the drawer draft; cancel the preview to discard applied options.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Open C to inspect exact executed options; historical execution may create concurrent operation history.

Run at a historical operation

Native

jj --at-operation OPERATION COMMAND

Control execution of the pending command without changing future defaults.

In jk

o in a rebase or squash preview → Operation

Options
Operation
Result
a applies the draft to the preview; a fresh Enter confirmation executes it.
Affects
pending command options
  • Only rebase, squash and restore previews expose Run options.
  • Restore does not allow a historical operation.
  • Operation IDs require at least 12 hexadecimal characters.
  • Historical operation loading implies ignoring working-copy files; the serializer omits a redundant --ignore-working-copy flag.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape discards the drawer draft; cancel the preview to discard applied options.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Open C to inspect exact executed options; historical execution may create concurrent operation history.

Allow immutable rewrites

Native

jj --ignore-immutable COMMAND

Control execution of the pending command without changing future defaults.

In jk

o in rebase/squash/restore preview → Immutable commits

Options
Immutable commits
Result
a applies the draft to the preview; a fresh Enter confirmation executes it.
Affects
pending command options
  • Only rebase, squash and restore previews expose Run options.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape discards the drawer draft; cancel the preview to discard applied options.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Open C to inspect exact executed options; historical execution may create concurrent operation history.

Run a captured jj command

Native

jj ARGS...

Use a noninteractive jj form without leaving the app.

In jk

: then arguments; Enter run

Result
Captures stdout, stderr and exit status with stdin closed; e reopens the command for correction.
  • No shell expansion or foreground editor/tool handoff.
  • Bookmark create/move/delete and Git fetch/push are rejected.
  • Aliases and advanced forms depend on the installed jj version.
  • Use Backspace to leave captured output. Escape quits jk from that view.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels the input prompt before execution. Backspace returns from captured output; Escape in captured output quits jk.
Failure
Parse errors stay in the prompt. Command failures open captured output; e edits and retries.
Recover
Inspect the output and C before returning to log and refreshing after a mutation.

Run a captured executable

Native

EXECUTABLE ARGS...

Inspect output from a noninteractive program.

In jk

! then executable and arguments

Result
Runs an argv vector in the origin repository directory, capturing output with stdin closed.
  • No implicit shell expansion; sh -c must be explicit for shell syntax.
  • No foreground terminal handoff.
  • Use Backspace to leave captured output. Escape quits jk from that view.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels the input prompt before execution. Backspace returns from captured output; Escape in captured output quits jk.
Failure
Spawn errors and nonzero exits appear in captured output; e reopens the input.
Recover
Inspect program output before retrying; jk cannot infer the side effects of an arbitrary executable.

Supersede a slow log refresh

Native

jj log (background refresh)

Replace a slow graph refresh with a new request while keeping the prior graph usable.

In jk

r; r again while refreshing

Result
Cancels the older load; only the newest applicable result can replace the visible graph.
  • This cancellation does not cover synchronous mutation or command-mode execution.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
A second r supersedes the first request. Escape on the root log quits the app; it is not a dedicated cancel-refresh control.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Read a failed refresh in C, correct its cause, and refresh again. Retained rows are the previous snapshot.

Commit the working copy

Command mode

jj commit -m MESSAGE

Use a noninteractive jj form that has no dedicated jk control.

In jk

:commit -m MESSAGE

Result
Describes/commits the working-copy change and starts a new working-copy child according to jj commit behavior; the selected log row is not the operand.
Affects
working-copy revision, affected content paths, possibly ancestors or descendants
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A working-copy change with content to commit; the log cursor may point elsewhere.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Copy a revision

Command mode

jj duplicate REV

Use a noninteractive jj form that has no dedicated jk control.

In jk

:duplicate REV

Result
Creates new copies of the explicit revisions; originals remain. Inspect the new change identities.
Affects
new revisions, possibly working-copy files
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Apply inverse changes

Command mode

jj revert -r REV -o DESTINATION

Use a noninteractive jj form that has no dedicated jk control.

In jk

:revert -r REV -o DESTINATION

Result
Creates changes applying the inverse of the selected revisions onto the explicit destination; original changes remain.
Affects
new revisions, possibly working-copy files
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Absorb working-copy edits

Command mode

jj absorb

Use a noninteractive jj form that has no dedicated jk control.

In jk

:absorb

Result
Moves eligible working-copy edits into their ancestor changes; inspect every rewritten ancestor and any remaining working-copy content.
Affects
working-copy revision, affected content paths, possibly ancestors or descendants
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Compare change versions

Command mode

jj interdiff --from FROM --to TO

Use a noninteractive jj form that has no dedicated jk control.

In jk

:interdiff --from FROM --to TO

Result
Shows captured command output; return to log and refresh to inspect repository changes.
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Run an arbitrary revset query

Command mode

jj log -r REVSET

Use a noninteractive jj form that has no dedicated jk control.

In jk

:log -r REVSET

Result
Shows captured command output; return to log and refresh to inspect repository changes.
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Split by named paths

Command mode

jj split FILESET... -m MESSAGE

Use a noninteractive jj form that has no dedicated jk control.

In jk

:split FILESET... -m MESSAGE

Result
Splits selected files into one revision and remaining changes into another. The message names the selected part; no native fileset picker is involved.
Affects
working-copy revision, affected content paths, possibly ancestors or descendants
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A nonempty working-copy change containing selected filesets and remaining changes; a message is supplied to avoid an editor.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Restore selected paths

Command mode

jj restore --from SOURCE FILESET...

Use a noninteractive jj form that has no dedicated jk control.

In jk

:restore --from SOURCE FILESET...

Result
Copies only matching source paths into the working-copy destination; other paths remain as they were.
Affects
working-copy revision, affected content paths, possibly ancestors or descendants
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Restore changes made in a revision

Command mode

jj restore --changes-in REV FILESET...

Use a noninteractive jj form that has no dedicated jk control.

In jk

:restore --changes-in REV FILESET...

Result
Undoes the selected revision’s changes in matching paths relative to its merged parents; other paths remain unchanged.
Affects
working-copy revision, affected content paths, possibly ancestors or descendants
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Squash selected paths

Command mode

jj squash --from SOURCE --into DESTINATION FILESET... --use-destination-message

Use a noninteractive jj form that has no dedicated jk control.

In jk

:squash --from SOURCE --into DESTINATION FILESET... --use-destination-message

Result
Moves matching paths from source to destination while retaining the destination description.
Affects
selected source paths, destination revision, descendants
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Abandon several revisions

Command mode

jj abandon REV...

Use a noninteractive jj form that has no dedicated jk control.

In jk

:abandon REV...

Result
Abandons all explicit revisions and rebases descendants with no native confirmation dialog.
Affects
explicit source revisions, descendants, possibly working-copy files
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Create with advanced options

Command mode

jj new -m MESSAGE PARENT...

Use a noninteractive jj form that has no dedicated jk control.

In jk

:new -m MESSAGE PARENT...

Result
Creates a new working-copy change above the explicit parents with the supplied message.
Affects
new revisions, possibly working-copy files
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Rebase several source revisions

Command mode

jj rebase -r SOURCE -r SOURCE -o DESTINATION

Use a noninteractive jj form that has no dedicated jk control.

In jk

:rebase -r SOURCE -r SOURCE -o DESTINATION

Result
Rebases every explicit source revision to the destination; inspect both moved revisions and reconnected descendants.
Affects
explicit source revisions, descendants, possibly working-copy files
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Track a remote bookmark

Command mode

jj bookmark track exact:NAME --remote exact:REMOTE

Use a noninteractive jj form that has no dedicated jk control.

In jk

:bookmark track exact:NAME --remote exact:REMOTE

Result
Shows captured command output; return to log and refresh to inspect repository changes.
Affects
local bookmark or tracking metadata
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Stop tracking a remote bookmark

Command mode

jj bookmark untrack exact:NAME --remote exact:REMOTE

Use a noninteractive jj form that has no dedicated jk control.

In jk

:bookmark untrack exact:NAME --remote exact:REMOTE

Result
Shows captured command output; return to log and refresh to inspect repository changes.
Affects
local bookmark or tracking metadata
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Rename a local bookmark

Command mode

jj bookmark rename OLD NEW

Use a noninteractive jj form that has no dedicated jk control.

In jk

:bookmark rename OLD NEW

Result
Shows captured command output; return to log and refresh to inspect repository changes.
Affects
local bookmark or tracking metadata
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Forget local bookmark metadata

Command mode

jj bookmark forget NAME

Use a noninteractive jj form that has no dedicated jk control.

In jk

:bookmark forget NAME

Result
Shows captured command output; return to log and refresh to inspect repository changes.
Affects
local bookmark or tracking metadata
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Create a workspace with explicit parents

Command mode

jj workspace add PATH --name NAME -r REV

Use a noninteractive jj form that has no dedicated jk control.

In jk

:workspace add PATH --name NAME -r REV

Result
Creates a workspace at an unused destination with the supplied name and parent revision.
Affects
new workspace directory, workspace metadata
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Restore an earlier operation

Command mode

jj op restore OPERATION

Use a noninteractive jj form that has no dedicated jk control.

In jk

:op restore OPERATION

Result
Creates a new operation restoring the earlier repository view. Inspect current files and references before continuing.
Affects
repository operation history, repository view, possibly working-copy files
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Integrate an operation

Command mode

jj op integrate OPERATION

Use a noninteractive jj form that has no dedicated jk control.

In jk

:op integrate OPERATION

Result
Makes the identified operation part of the operation log; divergent histories can require integration.
Affects
repository operation history, repository view, possibly working-copy files
  • Command mode forwards arguments to installed jj; this row is not a native form.
  • Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
Escape cancels input before running; there is no foreground tool handoff.
Failure
Read the error and Command History before retrying; jj owns repository validation.
Recover
Inspect C and the operation log before undoing a repository change.

Use an external description editor

Outside jk

jj describe REV

Use a workflow that is outside the current native surface.

In jk

Leave jk and run the appropriate jj command

Result
The terminal is not handed to an editor.
  • The terminal is not handed to an editor.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
No native dialog exists for this form.
Failure
This form has no supported native interaction.
Recover
Finish or cancel the foreground jj workflow in the shell, then reopen jk and inspect status and operation history.

Split interactively

Outside jk

jj split -i

Use a workflow that is outside the current native surface.

In jk

Leave jk and run the appropriate jj command

Result
Interactive diff tools require leaving jk.
  • Interactive diff tools require leaving jk.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
No native dialog exists for this form.
Failure
This form has no supported native interaction.
Recover
Finish or cancel the foreground jj workflow in the shell, then reopen jk and inspect status and operation history.

Edit a diff with a tool

Outside jk

jj diffedit

Use a workflow that is outside the current native surface.

In jk

Leave jk and run the appropriate jj command

Result
Interactive diff tools require leaving jk.
  • Interactive diff tools require leaving jk.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
No native dialog exists for this form.
Failure
This form has no supported native interaction.
Recover
Finish or cancel the foreground jj workflow in the shell, then reopen jk and inspect status and operation history.

Resolve using a merge tool

Outside jk

jj resolve

Use a workflow that is outside the current native surface.

In jk

Leave jk and run the appropriate jj command

Result
Interactive merge tools require leaving jk.
  • Interactive merge tools require leaving jk.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
No native dialog exists for this form.
Failure
This form has no supported native interaction.
Recover
Finish or cancel the foreground jj workflow in the shell, then reopen jk and inspect status and operation history.

Publish changes

Outside jk

jj git push

Use a workflow that is outside the current native surface.

In jk

Leave jk and run the appropriate jj command

Result
Native push is dry-run only; : rejects git push.
  • Native push is dry-run only; : rejects git push.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
No native dialog exists for this form.
Failure
This form has no supported native interaction.
Recover
Finish or cancel the foreground jj workflow in the shell, then reopen jk and inspect status and operation history.

Mutate selected hunks

Outside jk

jj squash/restore/commit/split -i

Use a workflow that is outside the current native surface.

In jk

Leave jk and run the appropriate jj command

Result
No native shared fileset or hunk mutation selection exists.
  • No native shared fileset or hunk mutation selection exists.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Check the view title, selected object and rendered output; use Command History (C) for the exact command.
Cancel
No native dialog exists for this form.
Failure
This form has no supported native interaction.
Recover
Finish or cancel the foreground jj workflow in the shell, then reopen jk and inspect status and operation history.

Restore at a historical operation

Command mode

jj --at-operation OPERATION restore --from SOURCE --into DESTINATION

Use a workflow that is outside the current native surface.

In jk

:--at-operation OPERATION restore --from SOURCE --into DESTINATION

Result
Captured command mode accepts explicit historical restore operands. Native Run options refuses historical restore into symbolic @.
  • Run options rejects historical restore to preserve the meaning of @.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Inspect the exact command, captured output and operation IDs in C; compare operation history and affected content.
Cancel
Escape cancels the : prompt before execution; Enter runs the captured command.
Failure
Inspect captured stderr and C before retrying; command-mode execution has no native result/recovery dialog.
Recover
Inspect the resulting operation ID before using op restore or op integrate; working-copy files may be unchanged.

Run without integrating an operation

Command mode

jj --no-integrate-operation COMMAND

Use a workflow that is outside the current native surface.

In jk

:--no-integrate-operation COMMAND

Result
Command mode forwards the option and captures its operation ID; no dedicated native recovery flow is provided.
Affects
repository operation history, repository view, possibly working-copy files
  • No native detached-operation result/recovery workflow exists.
Starting state, verification, and recovery
Before
A jj repository with a working copy and visible history.
Verify
Inspect the exact command, captured output and operation IDs in C; compare operation history and affected content.
Cancel
Escape cancels the : prompt before execution; Enter runs the captured command.
Failure
Inspect captured stderr and C before retrying; command-mode execution has no native result/recovery dialog.
Recover
Inspect the resulting operation ID before using op restore or op integrate; working-copy files may be unchanged.