v0.1.13 d53fbf4

2026-04-20

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
d50eed7docs(prompt): teach zot what its name means tag v0.0.44patriceckhart
e2f2092fix(no-yolo): don't auto-refuse tool calls in non-interactive modes tag v0.0.43patriceckhart
ac6d556feat(tool-gate): --no-yolo flag, confirm dialog, /yolo runtime toggle tag v0.0.42patriceckhart
f371687perf(anthropic): fix cost double-count, tighten caching, correct catalog tag v0.0.41patriceckhart
05d0df9perf(prompt): cut system prompt to the bone (410 -> 54 tokens) tag v0.0.40patriceckhart
f5719c6perf(read): drop line numbers from model-facing output tag v0.0.39patriceckhart
5cc5482fix(skills): tell the model where each skill body lives tag v0.0.38patriceckhart
1a2ab42fix(tui): hide empty sessions from the /sessions picker tag v0.0.37patriceckhart
961f99dchore: scrub stray "pi" references from source comments tag v0.0.36patriceckhart
99c9ba8feat(ext): phase 4 - full-event interception, arg rewrites, /reload-ext tag v0.0.35patriceckhart
9f031f9docs: complete README, proper capitalization, add 130x130 logo tag v0.0.34patriceckhart
b9e7517feat(tui): show github release notes once after upgrading tag v0.0.33patriceckhart
fbad128feat(skills): user skills now opt-in via --with-skills tag v0.0.32patriceckhart
e9ffc74feat(skills): --no-skill flag to disable all skills (including built-ins) tag v0.0.31patriceckhart
2cffe04feat(skills): built-in extension-author skill, hidden from /skills tag v0.0.30patriceckhart
e425dbbfeat(systemprompt): $ZOT_HOME/SYSTEM.md as a persistent override tag v0.0.29patriceckhart
84dbd86feat(extensions): --no-ext to skip discovery for one run tag v0.0.28patriceckhart
e9b466atui: blank row after the slash-popup hint line tag v0.0.27patriceckhart
4f2655atui: blank row before the extensions divider in slash autocomplete patriceckhart
789665ftui: stable order + "── extensions ──" divider in slash autocomplete patriceckhart
744685dfix(extensions): close ext.commands / ext.tools / lastFrameTime races tag v0.0.26patriceckhart
463c62ddocs: clarify that no extensions are installed by default patriceckhart
7e94b07feat(extensions): --ext PATH (short -e) for ad-hoc loading patriceckhart
83b64e2examples: scratchpad notes persist to .zot/scratchpad-notes.jsonl patriceckhart
619ed58perf(extensions): parallel discovery + auto-ready idle watchdog patriceckhart
5dbbcb9feat(extensions): typescript example + path-aware exec resolution tag v0.0.25patriceckhart
83ae236feat(extensions): phase 3 — event subscriptions + tool-call interception tag v0.0.24patriceckhart
74709a0feat(extensions): phase 2 — extension-defined tools tag v0.0.23patriceckhart

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