You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A "what's new" popup after an update. The first time you open lich on a
new version, a dialog summarizes what changed — the release's changelog
section, grouped into Added / Changed / Fixed, with a link to the full notes.
It fires once per release and never on a fresh install. The notes are read
from the changelog baked into the binary, so the popup works offline.
Pick which provider new sessions spawn by default. lich was wired to open
Claude Code for the routines that don't ask — a new worktree, the new-session
hotkey, a project's first session. Settings › Providers now has a "Default
provider" picker over the enabled harnesses, so those routines spawn Codex,
opencode or Crush instead if you prefer. Disabling the chosen default falls
back to the first enabled provider; the per-session New Session menu still
picks a one-off provider as before.
Command palette — Ctrl/Cmd+K. One shortcut, from anywhere, to jump to any
session across every project — or to a project — without hunting through the
tabs (which only show the active project's sessions). Type to filter by
session label, project or path; ↑↓ to move, ↵ to open, Esc to close. Each
session row shows its project, path and live status (busy / waiting / done).
The shortcut is rebindable in Settings › Hotkeys, since Ctrl+K otherwise
shadows the shell's kill-line. Jump-only for now — running actions from it can
come later.
Search within a terminal — Ctrl+F. Opens a find box in the top-right of
the terminal: type to jump to the next match as you go — every match
highlighted, with a live counter — Enter / Shift+Enter to step forward and
back, and Esc to close. Like VS Code's terminal, Ctrl+F shadows the shell's
own forward-char while the box is open; Esc hands the key back to the shell.
Pairs with reload-surviving scrollback — there is now more history worth
searching.
Terminal scrollback now survives a full page reload. Reloading the window
used to leave every terminal blank until new output arrived — the shells kept
running, but their recent history lived only in the page. The backend now
keeps a capped tail of each session's output and replays it into the terminal
on reconnect, so a reload restores what you were looking at. The tail is
bounded (2 MB per session), so very old scrollback still ages out.
Launching lich twice now focuses the open window instead of failing. The
second process detects the running instance holding the pinned port (via runtime.json and a token-gated liveness ping) and hands its URL to Chromium,
which forwards to the running browser and brings its window to the front, then
exits cleanly. A genuine port conflict — a non-lich process on the port —
still fails with the same clear error as before. Window focus is best-effort:
Wayland forbids an external process from raising a window, so lich relies on
Chromium's own profile-lock IPC.
A notification queue in the top strip — a bell beside the settings gear —
gathers every session needing attention across all projects into one
count-badged list: a session blocked waiting on you, or a turn that finished
and you have not seen. Clicking a row routes straight to that session, even in
a background project, so you can work in one project and jump to a
notification from another without hunting for it. It is the persistent surface
for the same signal the attention toast raises transiently (a toast is missed
if you are away). The session you are currently viewing is never queued — its
own terminal already shows the state — nor is a running (busy) one; a
finished turn drops off once it has been seen. The queue lives in the page, so
a full reload empties it until new events arrive.
Changed
New app icon — the purple meteor mark now ships across the Linux desktop
entry, the Windows executable and installer, and the packaged icons.
The update check now repeats hourly, not just at startup. A session left
open for a long time now notices a new lich release mid-run instead of only on
the next launch. The poll never stacks a second toast for a release it already
surfaced, and dismissing one still holds until a genuinely newer version
ships. Hourly keeps well within the unauthenticated GitHub API's rate limit.
Keeping a worktree now keeps its session, ready to resume. Closing a
worktree session and choosing to keep the checkout used to throw the session
away — reopening the worktree later started a blank Claude with none of the
earlier conversation. lich now parks the session instead of deleting it, so
reopening the worktree brings it back and offers to continue the same Claude
conversation right where it left off. Removing the worktree (rather than
keeping it) still clears the session for good.
Footer bar spacing tightened. The items sit closer together and the Browse
code icon now matches the size of its neighbors.
Fixed
Reopening an existing worktree no longer spawns a new one from its branch.
The new-worktree picker listed a worktree's branch twice — under "Worktrees",
where picking it reopens the worktree, and under "Local branches", where
picking it creates a new worktree off that branch — with the local list open
by default, so the obvious choice quietly made a second worktree from the
first. A branch already checked out in a worktree is now shown only under
"Worktrees", and that group is expanded by default, so selecting it resumes
the existing worktree.