Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

UI

[ui] configures image display in the conversation, how wide its text runs, and when the skills and cost sidebar shows.

[ui]
image_max_rows = 24
# image_viewer = "imv"
images = "auto"
sidebar = "auto"
wrap_width = 120
KeyMeaningDefault
image_max_rowsTallest an inline image is drawn, in rows.24
image_viewerCommand that opens an image full-size on Enter. Default: the system opener.none
imagesauto, kitty, iterm2, or off: which terminal graphics protocol to use."auto"
sidebarauto, on, or off: when the skills/cost sidebar shows."auto"
wrap_widthThe widest the conversation's text runs, in columns; 0 is always the pane's width.120

The image keys are read and validated, but drawing images in the terminal has not landed yet. An attached image shows as a chip with its path and size, and the model sees it; the conversation does not draw it. The section is here so a config written now keeps working when it does.

sidebar = "auto" draws the sidebar whenever there are skills, recorded spend, or an accounting error to show. Its cost section shares space with skills; on draws it always and off never, in a terminal at least 100 columns wide either way. /sidebar and Ctrl-S change it for the session; /cost shows category costs and seven-day usage at any width, while /stats adds tool attribution.

The conversation wraps between words at wrap_width columns, or at the pane's width when that is narrower, so prose stays a readable measure in a wide terminal. Markdown tables use the same limit: columns grow to fit their content, then cells and headers wrap without truncation. Long words and URLs break across lines when needed. In a pane too narrow for all columns and separators, rows become stacked header/value pairs so all content stays readable.