v0.1.39 9f5f195

2026-04-22

6ecaedafix(core): keep streamed assistant text on cancel tag v0.0.92patriceckhart
569d28dfix(tui): wrap ANSI-rendered assistant body on narrow terminals tag v0.0.91patriceckhart
fdcdeb5feat(ext): interactive extension panels + persistence tag v0.0.90patriceckhart

2026-04-21

8d3b7fffix(openai): pass image tool results to vision models tag v0.0.89patriceckhart
2cf21d7fix(tui): suppress clipped images near status bar tag v0.0.88patriceckhart
a739ef9fix(tui): repaint fully while scrolling chat tag v0.0.87patriceckhart
43aca0bfix(tui): keep multiple inline images visible tag v0.0.86patriceckhart
c16e929fix(core): repair orphan tool_use rows on session load tag v0.0.85patriceckhart
dad49e9tweak(tui): image-block spacing + indent tag v0.0.84patriceckhart
112341cfix(tui): slash popup + transient overlays swallow esc before busy-cancel tag v0.0.83patriceckhart
6019404fix(tui): blinking cursor in /btw, proper idle redraws, tighter status bar tag v0.0.82patriceckhart
fc47398tweak(tui): status bar spacing + muted busy-segment dash tag v0.0.81patriceckhart
1f28b62style: replace middle-dot separators with ascii hyphens tag v0.0.80patriceckhart
c4150cetweak(tui): two-threshold paste collapse with line-vs-char shape tag v0.0.79patriceckhart
755ca7cfeat(tui): /login shows current status for each provider tag v0.0.78patriceckhart
cb8526cfix(tui): up/down arrows move the cursor through visual rows, not history tag v0.0.77patriceckhart
ce80627feat(tui): /study slash command to prime the agent on the current project tag v0.0.76patriceckhart
51fd11ffeat(tui): collapse multi-line pastes to a placeholder token tag v0.0.75patriceckhart

2026-04-20

916a6f7fix(update): re-check every launch when the cache says up-to-date tag v0.0.74patriceckhart
13b8947tweak(tui): ctrl+c no longer interrupts a running turn tag v0.0.73patriceckhart
5a70030tweak(tui): update banner emits the short domain install command tag v0.0.72patriceckhart
9d0b1d0fix(install.sh): guard empty-array expansion for bash 3.2 tag v0.0.71patriceckhart
ad60f82docs(readme): point install one-liners at zot.patriceckhart.com tag v0.0.70patriceckhart
ec3b7a7fix(tui): scroll the /sessions picker when the list overflows tag v0.0.69patriceckhart
e1fdf4dtweak(tui): stable spinner phrase per turn tag v0.0.68patriceckhart
8927ac1feat(tui): show read's line range in the tool header tag v0.0.67patriceckhart
bb50aa3feat(tui): context diffs + framed tool blocks + paced streaming patriceckhart
b29c6e7chore: drop homebrew distribution tag v0.0.66patriceckhart
bc9e57efeat(tui): smooth typewriter streaming across providers and turns tag v0.0.65patriceckhart
676b5d7fix(tui): restore typewriter streaming for turns after tool use tag v0.0.64patriceckhart
616eed3fix(tui): persist transcript to session file after every turn tag v0.0.63patriceckhart
1dafef8assets: refresh zot logo to cleaner pixel-art Z tag v0.0.62patriceckhart
c09a5c5chore(tui): reorder slash catalog tag v0.0.61patriceckhart
c080578docs(readme): dedicated /session subsection with fork + tree tag v0.0.60patriceckhart
7794a25feat(session): /session fork + /session tree tag v0.0.59patriceckhart
9b063d8fix(session): export the full running conversation, handle quoted paths tag v0.0.58patriceckhart
ef80f9cfeat(session): /session export + import with portable .zotsession file tag v0.0.57patriceckhart
9a32f9cdocs(readme): document /telegram bridge + split from standalone daemon tag v0.0.56patriceckhart
625c238feat(telegram): mirror tui prompts into telegram thread tag v0.0.55patriceckhart
098a797feat(tui): /telegram connect | disconnect | status tag v0.0.54patriceckhart
7193334feat(tui,bash): shell-log style bash results tag v0.0.53patriceckhart
b6fc3fdrename: /lock -> /jail, /unlock -> /unjail tag v0.0.52patriceckhart
c610a3afeat(tui): live-stream file body during write/edit tool calls tag v0.0.51patriceckhart

2026-04-19

3e59a3cfix(tui): three cursor/alignment fixes in the editor and /help tag v0.0.50patriceckhart
f8c309efeat(auth,tui): dark login pages + /logout picker tag v0.0.49patriceckhart
e1c1e0efix(cli): load extensions in print and json modes too tag v0.0.48patriceckhart
1be3f85fix(tui): cursor after multi-line paste lands in wrong column tag v0.0.47patriceckhart
00b3d9dfix(tui): align slash popup descriptions across built-in + extension commands tag v0.0.46patriceckhart
1303e18docs(prompt): hyphenate 'zero-overhead-tool' tag v0.0.45patriceckhart
b188801perf(prompt): slim system prompt from 1064 tokens to 126 tokens patriceckhart

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 476

↑↓ moveenter openesc close