Skip to content

config.toml

jjui reads configuration from a TOML file at startup.

Global config:

  • Linux / macOS: ~/.config/jjui/config.toml
  • Windows: %AppData%/jjui/config.toml

Open the file directly in your editor with:

Terminal window
jjui --config

Repo-specific config: You can create a .jjui/config.toml file in the root of any jj repo and it will override anything that was set by your global config. This allows you to define settings, actions, and bindings that apply to all repos, but then granularly override particular settings per-repo.

Custom config: You can also set a custom directory with the JJUI_CONFIG_DIR environment variable. jjui will then look for your config.toml file inside that directory. If you use this, it will replace the global and repo configs, rather than just override them.


Override the default log template or revset:

[revisions]
template = "builtin_log_compact"
revset = ""
log_batching = true
log_batch_size = 50
  • log_batching: load revisions incrementally in batches (default: true)
  • log_batch_size: number of revisions per batch when batching is enabled (default: 50)
[preview]
position = "auto" # auto | right | bottom
show_at_start = false
width_percentage = 50.0
width_increment_percentage = 5.0
[oplog]
limit = 200

Disable jjui’s SSH askpass helper if you manage SSH credentials yourself:

[ssh]
hijack_askpass = false

Controls autocomplete suggestions in the : and $ command prompts:

[suggest.exec]
mode = "fuzzy" # off | regex | fuzzy
[ui]
auto_refresh_interval = 0

Seconds between automatic revision list refreshes. Default is 0 (disabled). Override at startup with --period.

[ui]
flash_message_display_seconds = 4

How long success flash messages stay visible in seconds. Default is 4. Set to 0 to keep them until manually dismissed with esc.

Quick inline overrides go in [ui.colors]:

[ui.colors]
"selected" = { bg = "#303446" }

For a full theme file, see Themes.

Load an alternative bindings file as the base instead of the built-in defaults:

bindings_profile = "vim_bindings.toml"

Your own [[bindings]] entries are applied on top of the profile. Use :builtin to explicitly reset to embedded defaults.

For defining actions and bindings, see Actions and Bindings.

Contribute Community