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
| Key | Meaning | Default |
|---|---|---|
image_max_rows | Tallest an inline image is drawn, in rows. | 24 |
image_viewer | Command that opens an image full-size on Enter. Default: the system opener. | none |
images | auto, kitty, iterm2, or off: which terminal graphics protocol to use. | "auto" |
sidebar | auto, on, or off: when the skills/cost sidebar shows. | "auto" |
wrap_width | The 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.