Skip to content

Releases: shinytoyrobots/rutter

v1.0.0 — The positions tool is removed

Choose a tag to compare

@github-actions github-actions released this 01 Nov 22:22
2e52a16
  • The positions tool is removed. librarian-positions and the code behind it (the recall query, the
    fold and its index tables) are gone. A client that still calls it gets the standard "tool not found" error.
    Session lines already carry who decided what and why, and are what librarian-search and librarian-recent
    return. Positions already recorded stay in _librarian/positions/ as your own history: rutter no longer reads
    them, never changes them, and drops the old position tables from its index the next time it reindexes. Old
    librarian-positions lines in stateful-use.jsonl stay and are ignored. If an old rules file still produces a
    position line, the capture hook still prints its note and stores nothing; that note has no end date. A client
    that cached the old instructions keeps mentioning the tool until you restart it, or re-run the installer for
    clients that keep a copy. The installer prints a one-line reminder.

Install or upgrade: npm install -g rutter-memory.
Full history: CHANGELOG.md.

v0.10.0 — Position capture has stopped; the positions tool goes in v1.0.0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 21:34
0e0da08
  • Position capture has stopped; the positions tool goes in v1.0.0. Rutter no longer asks your client for
    a separate line about a stance you formed or changed (a position), and the capture hook stores none. If an
    old rules file still produces one, the hook prints a note on its diagnostic output and stores nothing; the
    session line in the same turn is captured as normal. Session lines already say when you made the call and
    keep your reason. In a 14-day trial on the author's own use, 15 of 18 sampled lines that credited the author
    were real decisions (83%), and only one position line was written, against four in the 14 days before. That
    is one person's usage, and the earlier belief questions have not been rerun to confirm that session lines
    cover what positions did. Positions already recorded stay in _librarian/positions/, and
    librarian-positions still reads them until v1.0.0 removes it. Restart your client, or re-run the
    installer for clients that keep a copy of the instructions, to drop the old line from them. See
    the position-capture note.

Install or upgrade: npm install -g rutter-memory.
Full history: CHANGELOG.md.

v0.9.0 — Session lines now say when you made the call

Choose a tag to compare

@github-actions github-actions released this 20 Oct 13:44
00cd7aa
  • Session lines now say when you made the call. The instructions rutter gives your client ask it to credit
    you when you decided, chose, ruled on or corrected something, not when you only asked, and to keep any reason
    you gave. Before, a line could read as the assistant's own conclusion, so later sessions couldn't tell your
    decisions from its suggestions. In a replay over 19 of your confirmed decisions, the new wording credited you
    on 13 (68%). To stay inside Grok's 2,033-character limit, two filler clauses were cut ("nothing else is needed"
    and "most sessions emit none") and the budget test now assumes a display name up to 24 characters. Restart
    your client, or re-run the installer for clients that keep a copy of the instructions (Codex, Copilot, Muse,
    Antigravity), to pick up the new wording.

Install or upgrade: npm install -g rutter-memory.
Full history: CHANGELOG.md.

v0.8.4 — Codex now learns that rutter exists

Choose a tag to compare

@github-actions github-actions released this 20 Oct 01:11
8924bfa
  • Codex now learns that rutter exists. Codex 0.163.0 hides an MCP server's instructions from the model
    until it loads one of the server's tools, so in ordinary sessions the model never wrote a summary line and
    nothing was captured. install-hook --client codex now adds a marked block holding the server's own
    instructions to ~/.codex/AGENTS.md (or $CODEX_HOME/AGENTS.md), and re-running it refreshes the block, even
    when the hook is already installed. Anything else in the file is kept byte for byte, and a file the installer
    can't parse safely is refused with nothing changed. Codex reads a nonempty AGENTS.override.md instead of
    AGENTS.md, so a block already in the override is kept current there, any other nonempty override is refused
    with the way forward, and --no-rules installs the hook and touches no rules file. Checked on Codex 0.163.0
    from outside the repo: a preference settled in chat, a notes lookup, a recency question and a small coding
    task each worked with the block. See Getting started.

Install or upgrade: npm install -g rutter-memory.
Full history: CHANGELOG.md.

v0.8.3 — Codex captures land in the right vault

Choose a tag to compare

@shinytoyrobots shinytoyrobots released this 20 Oct 00:52
04e0fc7
  • Codex captures now land in the vault Codex reads from. Codex gives its MCP server the vault from config.toml
    but its hooks only the launching shell's environment, so a Codex hook started without LIBRARIAN_VAULT_PATH
    quietly wrote to ~/Documents/knowledge-vault while recall read your notes. install-hook --client codex now
    bakes the vault into the hook command, taken from --vault (new for Codex), the existing hook, your shell, or the
    server's config.toml entry. Re-run the installer, then trust the changed hook in /hooks.

Install or upgrade: npm install -g rutter-memory, then rutter-memory install-hook --client codex.
Full history: CHANGELOG.md.

v0.8.2 — Release workflows off Node 20 actions

Choose a tag to compare

@shinytoyrobots shinytoyrobots released this 20 Oct 00:52
7ca75c6
  • The release and registry workflows no longer run on Node 20 actions. actions/checkout and
    actions/setup-node move to v7, which declare Node 24, so GitHub's removal of the Node 20 opt-out
    can't break a release. The registry workflow also smoke-tests the pinned mcp-publisher binary on every
    run and, in a separate job, on Ubuntu 26.04. No change to the package itself.

Install or upgrade: npm install -g rutter-memory.
Full history: CHANGELOG.md.

v0.8.1 — Grok installs without Claude Code

Choose a tag to compare

@shinytoyrobots shinytoyrobots released this 19 Oct 13:51
0815f04
  • Grok no longer needs Claude Code. rutter-memory install-hook --client grok writes one file,
    ~/.grok/hooks/rutter.json (or $GROK_HOME/hooks/rutter.json), and prints the grok mcp add line
    for the server, which you run yourself. It refuses to replace a rutter.json it did not write, keeps
    its own entry current when the install path moves, and writes nothing when the file is already
    current. Grok also loads rutter's hook from the Claude Code plugin and from ~/.claude/settings.json;
    when the installer finds either, or another hook file that runs it, it says which and creates no
    second entry, since a duplicate would only run the hook twice (the capture still writes one record).
    Grok needs no instructions file: it shows the model the server's instructions on its own. The
    Claude Code route for Grok is unchanged. Verified with Grok 1.0.62 on a Linux machine that never had Claude Code, from install to a captured client: grok record and a working recall, and again beside a real Claude Code plugin install; the
    Grok path in Getting started no longer requires Claude Code,
    and the old note that Grok has no grok mcp add is gone because the command exists.

Install or upgrade: npm install -g rutter-memory, then rutter-memory install-hook --client grok.
Full history: CHANGELOG.md.

v0.8.0 — Muse Code as a sixth client

Choose a tag to compare

@shinytoyrobots shinytoyrobots released this 19 Oct 04:17
47517de

Muse Code joins Claude Code, Grok, Codex, Copilot CLI, and Antigravity: capture and recall, set up with rutter-memory install-hook --client muse.

Install

Claude Code:

/plugin marketplace add shinytoyrobots/rutter
/plugin install rutter@rutter

Choose your notes folder when asked, then run /reload-plugins. Already installed? Run /plugin marketplace update rutter, update the plugin, and restart Claude Code. Requires Node 22 or newer.

Other clients: npm install -g rutter-memory, then follow your client's path in Getting started. Grok uses the Claude Code plugin. Muse Code has its own setup path.

What changed

  • Muse Code is a sixth client. rutter-memory install-hook --client muse adds capture for Meta's
    terminal agent (muse). It adds the Stop hook and an optional rutter server entry to
    ~/.config/muse/settings.json, and a marked block to ~/.config/muse/AGENTS.md. The block is
    required: in testing, Muse's model wrote summary lines only with it in place. Muse runs hooks with a
    cleared environment, so the notes folder and an absolute node are baked into the hook; pass
    --vault to choose the folder. The installer keeps your other settings, hooks and servers, refuses a
    symlinked or unparseable file, never changes text outside its own block, and records client: muse.
    Verified with Muse Code 1.4.10. In an untrusted workspace that has its own AGENTS.md, the rule loaded
    in only 1 of 4 trial runs. Setup is in
    Getting started.
  • The Stop hook now bounds its capture process, for every client. hooks/librarian-stop.sh runs the
    capture under a small supervisor that stops it after 20 seconds (LIBRARIAN_CAPTURE_TIMEOUT_SEC
    changes that) and always exits cleanly with nothing on stdout. Muse holds a turn for as long as a
    hook runs. The cost is one extra Node process per capture.

v0.7.0 — GitHub Copilot CLI as a fifth client

Choose a tag to compare

@shinytoyrobots shinytoyrobots released this 16 Oct 05:05
14d1a00

GitHub Copilot CLI joins Claude Code, Grok, Codex, and Antigravity: capture and recall, set up with rutter-memory install-hook --client copilot.

Install

Claude Code:

/plugin marketplace add shinytoyrobots/rutter
/plugin install rutter@rutter

Choose your notes folder when asked, then run /reload-plugins. Already installed? Run /plugin marketplace update rutter, update the plugin, and restart Claude Code. Requires Node 22 or newer.

Other clients: npm install -g rutter-memory, then follow your client's path in Getting started. Grok uses the Claude Code plugin. Copilot CLI has its own setup path.

What changed

  • GitHub Copilot CLI is a fifth client. rutter-memory install-hook --client copilot adds
    capture: it writes hooks/rutter.json and instructions/rutter.instructions.md under
    ~/.copilot (or $COPILOT_HOME), and refuses to replace either file if it didn't write it.
    The hook reads the current turn from Copilot's transcript, waiting up to three seconds for
    Copilot to finish writing it, and labels records client: copilot. The instructions file is
    required: Copilot loads a server's instructions only once one of its tools is called, and in
    testing the model wrote summary lines only with that file in place. Verified with Copilot CLI
    1.0.98, in one session that was captured and then recalled from Claude Code. Setup is in
    Getting started.
  • The printed MCP registration survives a Node upgrade. The copilot mcp add and
    agy mcp add lines the installer prints, and Antigravity's JSON snippet, named the resolved
    Node binary. On Homebrew that is a versioned folder that brew upgrade deletes, which
    silently stopped recall. They now name the node on your PATH, such as
    /opt/homebrew/bin/node, when it is the same binary and lives somewhere lasting. If you
    registered Antigravity from a printed line, check its Node path.

v0.6.2 — listed in the official MCP Registry

Choose a tag to compare

@shinytoyrobots shinytoyrobots released this 16 Oct 05:05
3d7afbf

rutter is listed in the official MCP Registry as io.github.shinytoyrobots/rutter. rutter itself is unchanged from 0.6.1.

Install

Claude Code:

/plugin marketplace add shinytoyrobots/rutter
/plugin install rutter@rutter

Choose your notes folder when asked, then run /reload-plugins. Already installed? Run /plugin marketplace update rutter, update the plugin, and restart Claude Code. Requires Node 22 or newer.

Other clients: npm install -g rutter-memory, then follow your client's path in Getting started. Grok uses the Claude Code plugin.

What changed

  • rutter is listed in the official MCP Registry as io.github.shinytoyrobots/rutter,
    pointing at the npm package rutter-memory. MCP clients and directory sites that read the
    Registry can now find it. server.json at the repository root holds the listing, and each
    approved release updates it automatically.
  • rutter itself is unchanged from 0.6.1.