LEAN

Customize

Configuration

One JSON file holds everything. The settings window edits the same file.

Two ways in

g, or Cmd+, opens the settings window. Every change is written to ~/.config/lean/config.json and applies at once.

Cmd+Opt+, opens the file itself. Projects, URL rules, environments and your own commands are edited there. After saving, gr reloads it. If the file has a mistake, Lean says so and runs with the default settings until the file is fixed; the file itself is left as it is.

General

Key Default Does
homepageabout:blankthe page of a new tab
searchUrlDuckDuckGowhere text that is not an address goes; %s is the text
hintCharsasdfghjklthe letters used for link labels
scrollStep, smoothScrollhow far and how j and k scroll
pageZoomzoom of all pages
mcpPort8719port of the server for Claude Code; 0 turns it off. Read at start only.

Tabs and sidebar

Key Default Does
liveTabs8tabs that stay awake
autoSuspendMinutes0puts tabs to sleep after this time; 0 is off
sidebarWidth270in points; dragging the sidebar's edge sets it
clusterTabsontabs of one kind together inside a group
jiraHostemptyhost whose issue tabs show their status
groupIssuesByProjectonissue tabs go into the group named like their key
jiraStatusWhenSuspendedonsleeping issue tabs keep their status
projects, environmentssee Projects and tabs

Look

Key Does
themea Ghostty theme name, ghostty, random, or light:Name,dark:Name. See Themes.
fontFamily, fontSizefont of sidebar and status line; ghostty uses the font of your Ghostty config
opacity0.3 to 1; below 1 the sidebar and status line show the blurred desktop
paintPagesrepaints every page in the theme colours
accentFromProjectselection and loading bar take the current project's colour

Keys and commands

Key Does
keyskey sequence to action, merged over the defaults. See Changing keys.
commandscommand to action, merged over the defaults. See Your own commands.

Passwords

Key Default Does
protonPassoffturns on filling logins from Proton Pass
passTouchIdonasks for Touch ID before the vault is used
passAuthMinutes5how long one Touch ID confirmation holds
passLogoutMinutes60signs out after this time without a fill; 0 never
passLogoutOnQuitonsigns out when Lean quits
passboltUrl, passboltApp, passboltProfilewhere the Passbolt hand-off goes
clipboardClearSeconds30wipes a copied password from the clipboard after you return

The same config on every Mac

Put config.json into your dotfiles and link it into ~/.config/lean/. With GNU Stow, use stow --no-folding, so the folder stays a real folder and only the config is a link. The session, the token and the Proton Pass sign-in then stay on each Mac, where they belong.

The config names your hosts and projects. Keep it out of public repositories if those are not public knowledge.