Skip to content

Releases: lichdotdev/lich-plugin

v0.20.7

Choose a tag to compare

@omartelo omartelo released this 21 Oct 13:36
9f75ca9

Fixed

  • Claude Code hooks run when the plugin's path has a space in it. On macOS
    lich keeps the plugin under ~/Library/Application Support, and the
    unquoted ${CLAUDE_PLUGIN_ROOT} split there, so every hook failed to start
    and the card got no state, title or touched files. The Claude Code
    registration quotes the path now, as the Codex one already did, and so does
    the <lich-plugin> placeholder in the Crush block (#90).

v0.20.6

Choose a tag to compare

@omartelo omartelo released this 17 Oct 22:59
c3d6a06

Changed

  • The plugin lives at lichdotdev/lich-plugin, and lich at lichdotdev/lich.
    The Codex manifest's homepage and repository, the install commands in the
    README and the contract links in the docs and the mods name the new
    repositories. GitHub redirects the old paths, so an existing install keeps
    working.

v0.20.5

Choose a tag to compare

@omartelo omartelo released this 17 Oct 22:35
7969899

Added

  • The agent-facing mod text also comes in Japanese, Korean and Russian.
    LICH_PROMPT_LANG values ja, ko and ru select the new catalogs in
    hooks/prompt-text.js, translated from the English source; literals such as
    [lich] and tool and command names stay as they are.

Fixed

  • An omp session that resumes another conversation tells lich which. A
    /resume inside omp left lich holding the conversation the card opened
    with, so a restart resumed the old one and lich could not warn when the
    conversation was already open in another card. The switch is now reported
    as it happens.

v0.20.4

Choose a tag to compare

@omartelo omartelo released this 17 Oct 00:48
ab8e80b

Fixed

  • A finished Claude Code session no longer goes back to busy on its own. A
    subagent's tool calls fired the session's own tool hooks, so a background
    agent, or the prompt suggestion Claude Code works out after each turn, put the
    card back on a spinner naming a tool nobody ran, until the next prompt. The
    card now reports only the session's own tool calls.

v0.20.3

Choose a tag to compare

@omartelo omartelo released this 15 Oct 16:45
7b72a14

Added

  • The theme skill writes a theme's syntax and pair. It ports a palette's
    code colors into the optional syntax section, which colors the code in
    lich native's review, diff and file views, and pairs the light and dark
    variants of a palette so the native window follows the desktop between them.
    validate.mjs checks both the way lich does: an unknown highlighting tag or
    modifier, a style with no color and no font style, a theme that is its own
    pair, or a pair of its own scheme.

v0.20.2

Choose a tag to compare

@omartelo omartelo released this 15 Oct 14:56
254d821

Fixed

  • A Claude Code card no longer shows its session running after it compacts
    while idle.
    Claude Code 2.1.300 compacts an idle conversation before its
    prompt cache expires, and reports it as an automatic compaction, the kind
    that runs inside a turn. The compacting mod closed it with busy, and the
    card sat on the spinner until the next prompt. It now closes with the turn's
    own state: busy while a turn is open, done when none is.

v0.20.1

Choose a tag to compare

@omartelo omartelo released this 10 Oct 15:32
de359a8

Fixed

  • A subagent card opens only once Claude Code allowed the Agent call. The
    mod answered the call above Claude Code's permission check, so a deny or ask
    rule, the permission mode and the user's "no" at the dialog never applied,
    and a refused call could still open a lich session that ran the task. It now
    passes the call on to that check and opens the worker at agent.spawn,
    which only an allowed call reaches (#74).

v0.20.0

Choose a tag to compare

@omartelo omartelo released this 10 Oct 03:41
75eb3ba

Added

  • The agent-facing mod text also comes in Simplified Chinese and Spanish.
    LICH_PROMPT_LANG values zh-CN and es select the new catalogs in
    hooks/prompt-text.js, translated from the English source; literals such as
    [lich] and tool and command names stay as they are.

  • The text the mods add for the agent follows lich's prompt language. The
    side-question preamble, the subagent card notes and denies, the edit guard's
    note and the self-command notes now come in English or Brazilian Portuguese,
    chosen by LICH_PROMPT_LANG, which lich exports into every session; an
    empty or unknown value is English. [lich], tool and command names and
    status values stay literal, and Successfully stopped task keeps Claude
    Code's own wording. The texts live in hooks/prompt-text.js.

  • A lich subagent worker whose turn ends blank now says so. A final turn
    whose message is blank, with nothing left running in the background, posts
    unanswered: "blank" to /mod/answer, so the caller hears the errand ended
    instead of waiting on it. The plugin reports blank turns only: Claude Code
    ends a refused turn and one an API error ended through StopFailure, with
    no Stop and no background_tasks, so the mod cannot tell they left nothing
    running and does not report them. Needs a lich that accepts unanswered.

  • Every state report names the conversation it comes from, in
    provider_session_id, so lich can drop one from an agent CLI the session
    runs as a tool (claude -p, cursor-agent -p), which inherits the session's
    LICH_* variables and used to report as the card. The scripts, opencode, omp
    and the compacting mod all send it; one the harness did not hand over is left
    out. report-state.sh now reads stdin for every state, with a one-second
    bound so a pipe nobody writes to cannot hold the turn.

v0.19.2

Choose a tag to compare

@omartelo omartelo released this 09 Oct 18:51
1875832

Fixed

  • A session asked to run /compact on itself through control_session now
    does.
    Asked "run /compact", models mostly reached for lich's
    control_session, which refuses a session's own, and either gave up or asked
    another session to run it on them. The self-command mod now takes that
    refusal for action command and queues the built-in the way it does for the
    Skill tool, /model and /effort refused alike. The tool's description says
    so and names the session by its LICH_SESSION_ID. A session named by its
    label is told apart by lich whoami --json (lich 0.64), not by the words of
    lich's refusal.

v0.19.1

Choose a tag to compare

@omartelo omartelo released this 09 Oct 17:51
d0c8900

Added

  • A Claude Code session runs a built-in slash command when asked to. Told
    "run /compact", the model used to answer that it could not. A new mod,
    hooks/self-command.js, takes the Skill tool's refusal of a built-in command
    and queues the command with $.command.run, so it runs on the session itself
    once the turn that asked ends; the Skill tool's description says so. Nothing
    goes through lich, whose control refuses a session's own. /model and
    /effort are refused, since run this way Claude Code saves them as the
    default for every new session.