Skip to content

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 18:08

Added

  • 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.