← Package directory
Available on winget

Install Jujutsu UI

Jujutsu UI (jjui) is a Text User Interface (TUI) designed for interacting with the Jujutsu version control system.

Install with winget
winget install --id IbrahimDursun.jjui
Upgrade
winget upgrade --id IbrahimDursun.jjui
Uninstall
winget uninstall --id IbrahimDursun.jjui

About Jujutsu UI

Jujutsu UI (jjui) is a Text User Interface (TUI) designed for interacting with the Jujutsu version control system.

What's new in 0.10.6

A quick maintenance update with a handful of usability improvements and scripting additions. - jjui now uses the real terminal cursor instead of a virtual one. Cursor rendering is now correct when focus moves between views and when returning from external commands. - Theme rendering has been improved so that themes now paint the backgrounds of view areas more consistently. Lua scripting also now exposes set_theme(name), which changes the active theme at runtime. This builds on the earlier light/dark runtime theme switching work, but it is not wired to the UI by default, so you need to call it from your own action. - jjui now sets the JJUI environment variable before invoking jj. This makes it easier to use jj conditional config specifically for commands run from inside jjui, for example: [[--scope]] --when.environments = ["JJUI"] [--scope.ui] diff-formatter = "delta" - Preview commands now set DFT_WIDTH, so difftastic output wraps to the preview pane width automatically. - Revision navigation now resolves longer or non-loaded change IDs and commit IDs through jj when they cannot be matched directly in the loaded revision list. This makes Lua navigation actions work more reliably with user-provided revision IDs. - The : prompt now parses quoted jj arguments correctly, so commands like new -m "message text" work as expected. - ctrl+n and ctrl+p are now available as list navigation aliases in more places, including revset completion/history, the target picker, and the fuzzy file finder. What's Changed - fix(exec): parse jj prompt input with shellwords (#655) by @SAY-5 in https...

Read release notes

Version history

Version Updated Notes
0.10.6 Unknown A quick maintenance update with a handful of usability improvements and scripting additions. - jjui now uses the real terminal cursor instead of a virtual one. Cursor rendering is now correct when focus moves between vie...
0.10.4 Unknown A quick maintenance release with a few improvements and fixes. Features Absorb operation Absorb is now an operation, similar to rebase, revert, duplicate, and other revision operations, instead of immediately running jj...
0.10.3 Unknown This release includes new Lua customisation support, repo-local configuration, preview sizing improvements, and a set of UI fixes. There were also some internal changes around action routing and rendering, so if somethin...
0.10.2 Unknown Quick release to continue the release early, release often streak. Features - Custom diff and preview content β€” You can now use diff.show() and ui.preview.show() in your Lua actions to display custom command output in th...
0.10.0 Unknown Wow, a major release after a very long time. As promised, v0.10 is ready, and it comes with breaking changes. First, thank you to everybody who contributed code, bug reports, ideas, and testing for this release. In parti...
0.9.12 Unknown Release 0.9.12 (Final 0.9.x Series) [!NOTE] This is a quick release before marking the end of 0.9.x series due to breaking changes introduced by the work in #533 Fixes & Improvements - Modal rendering now fills the entir...
0.9.11 Unknown Release Notes Overview The underlying view system has gone through an almost complete rewrite (#473). This major overhaul enabled us to implement various features that weren't possible before and made most of the UI clic...
0.9.10 Unknown Release Notes πŸ†• Features Lua Scripting Enhancements - Lua Context Module (#465): Added context module to Lua scripting API, exposing methods for accessing selected item metadata and checked items: - context.change_id() -...
0.9.9 Unknown Release Notes Another release with small improvements and bug fixes. Thanks to all contributors! πŸŽ‰ New Features Custom Commands & Lua API Enhancements - Custom Commands with Sequence Keys (#420) - Added key_sequence prop...
0.9.8 Unknown Release Summary This release includes experimental Lua scripting support for custom commands, several bug fixes, and UI improvements. The streaming command handler has been reworked to remove the 100ms delay incurred on...
0.9.7 Unknown πŸŽ‰ This release enhances performance and introduces stability improvements in log parsing and command execution. It also takes back some of the stability by adding basic mouse support. Features πŸ“ˆ Performance Improvements...
0.9.6 Unknown Another community driven release, mostly focusing on every day improvements. What's Changed - fix(ace_jump): close operation after applying jump by @baggiiiie in https://github.com/idursun/jjui/pull/351 - feat: auto-dete...
0.9.5 Unknown This release contains some minor improvements and bug fixes. - Help window is now searchable. #334 - changed preview to run in the background while getting the diff contents to improve UI responsiveness. #336 - fix: asyn...
0.9.4 Unknown A point release mostly made of community contributions. Thanks to all the contributors (via code or feedback or reporting issues) ❀️ I have been most working on the v0.10 refactoring, so that's why this release is delaye...
0.9.3 Unknown What's Changed - feat: squash files from details view by @Jollywatt in https://github.com/idursun/jjui/pull/283 Bug Fixes - ace_jump: Selection logic improved to fix navigation issues #285 - megamerge: Changed revision r...
0.9.2 Unknown Mostly a maintenance release, but adds a new operation for supporting megamerge users. Pressing M will start the mega merge operation, in which you can use space to add/remove parents. Bug fixes - Make sure that the sele...
0.9.1 Unknown This was supposed to be a maintenance release but it is packed with new features thanks to all the contributors! Phew, another release which was supposed to be a minor maintenance release but to be honest, I didn't much...
0.9.0 Unknown Breaking changes πŸ’₯ preview.extra_args configuration option is removed in favour of preview commands (see below). This change allows far more customisation opportunities than what extra_args offered. πŸ’₯ ui.highlight_dark a...
0.8.12 Unknown What's Changed Improvements Revset - Completions show on the second line as a list now. You can use tab/shift+tab to cycle forward/backward. - Loads and adds revset-aliases defined in your jj config to the list of comple...