Skip to content

Configuration

All state lives in ~/.artuditu/ (debug builds: ~/.artuditu-dev/), created owner-only (0700).

FileContents
config.jsontheme, language, shell, layout, notifications, keybindings, sidebars, and Artuditu Bar placement
session.jsonthe auto-saved session snapshot (workspaces → tabs → panes)
orch.jsonthe orchestration task ledger + leases
modules.json + modules/installed extensions and their state
themes/*.tomlinstalled data-only themes, shared by named sessions
themes/*.source.jsonsource URL/path, SHA-256 digest, and install timestamp for managed theme installs
worktrees/worktrees created by artuditu, nested per repo
reviews/private local DIFF notes and viewed fingerprints, keyed by hashed repository and worktree identity
artuditu.sock / artuditu-client.sockthe control + render sockets (owner-only)

Prefer editing config through Settings (it applies live and writes the file for you). Hand-edits are picked up on restart. Old config files load cleanly across versions because unknown fields get defaults.

KeyEffect
themeactive bundled, installed, or virtual theme ID. A missing installed ID falls back visually without erasing the stored value.
layout.scrollback_bytesapproximate memory budget per pane’s retained history; defaults to 10485760 (10 MiB). The legacy layout.scrollback line count is read for compatibility. (See Scrollback.)
layout.mobile_widthinclusive viewport width for automatic mobile presentation; defaults to 64, and 0 disables it. The legacy layout.compact_width key is accepted and migrated. (See Mobile Sessions.)
layout.show_titlesshow the title on each pane border
layout.resume_in_new_workspaceresume a session into its own workspace instead of a new tab
layout.file_openwhat a click in the FILES dock does: readonly (default) or an editor command such as vim (see Browsing & Opening Files)
layout.diff_layoutdefault native DIFF layout: auto, split, or stack
layout.diff_wrapwrap long diff rows instead of using horizontal navigation
layout.diff_context_linesunchanged Git context lines per hunk, from 0 to 20
layout.diff_show_line_numbersshow old and new source line gutters
layout.diff_marker_stylechanged-line indicator: symbols (default), bars, or both
layout.diff_color_modechanged-line palette: theme (default) follows the active theme, while standard uses fixed red and green review colors
layout.diff_live_refreshrefresh visible diff views when the shared FILES status scan changes
prefixthe command-mode prefix (default ctrl+space). Accepts f1f12 as safe single keys, or a character/Space chord containing Ctrl or Alt, such as ctrl+b, alt+\, or shift+f12 (see Keybindings)
keybindingscommand id → key, overriding the defaults
bars.top_right / bars.bottom_right / bars.offcanonical widget ids (module:id) in each Artuditu Bar placement. core:runtime-status defaults to Bottom. Live content and notifications are never persisted.
VariableEffect
ARTUDITU_HOMErelocate the state directory
ARTUDITU_SHELLshell for new panes (overrides config.shell)
EDITORoffered as an “open with” choice for files, alongside the editors found on PATH
ARTUDITU_PANE_IDinjected into every pane, the pane’s own id
ARTUDITU_SOCKET_PATHinjected into every pane, the control socket