docs GitHub

Using Vyre

Vyre in Claude Code

Every Claude thread Vyre starts on your server already runs with Vyre's hooks and tools. The Vyre plugin brings the same to a claude you start yourself, in any terminal, on your Mac or on the server: Vyre's safety rules, your memory and lessons, and every Vyre tool. It is installed from the vyre marketplace (harness/ in the Vyre repository). The decision behind it is ADR 0020.

Install the plugin

Inside Claude Code:

/plugin marketplace add vyre-ai/vyre
/plugin install vyre@vyre

Or from a shell:

claude plugin marketplace add vyre-ai/vyre && claude plugin install vyre@vyre

New sessions load it. The plugin runs the code of the Vyre installed on your machine, so it always matches the Vyre it talks to.

What you get

Hooks, each a step of the session:

WhenWhat the hook does
A session startsAdds the brief: this folder's project and what it knows.
You send a promptAdds what memory has on it.
Before each tool callApplies Vyre's safety rules and your checked lessons.
After a file edit, a shell command or a subagentNotes the files the session changed.
After a tool call failsTells Vyre it failed, with the first 200 characters of the error, so lessons can use it.
At the end of a turnChecks your lessons against what the turn did.

The vyre MCP server, with every Vyre tool: the tools of everything Vyre runs, and every connector tool you may use. See the tools reference.

Skills Claude reaches for on its own: write-a-watcher (something to watch over time), use-the-vault (anything that needs a credential) and work-in-a-project (a project, client or earlier decision).

The /vyre command:

CommandWhat it does
/vyre or /vyre statusWhat this machine runs, this folder's project, what each agent is doing, and how many things need you.
/vyre ask <agent> <text>Asks an agent and shows its reply, for example /vyre ask kit draft the Northwind Bakery invoice.
/vyre send <session> <text>Types into another session, named by its id, the first 8 characters of it, or its name. The reply streams there.
/vyre recall <query>Searches your past sessions.
/vyre projectThis folder's project brief.
/vyre todo <text>Adds a todo. With no text, lists your open todos.
/vyre remind <when> <text>Sets a reminder, for example /vyre remind 6pm call Juniper Studio, "tomorrow 9am" or "in 20 minutes". The planner reads the time and says when it will ring. With no time, Claude asks for one. The reminder arrives by push, Lumen and the Vyre app, not in the Claude session.
/vyre agendaToday: what is on, then your todos, overdue ones too. /vyre agenda tomorrow shows another day.
/vyre remember <fact>Saves a fact about you or your work to memory, for every future session. A session scoped to some projects can't teach personal facts; Claude offers a lesson instead.
/vyre lesson <rule>Makes a lesson, and says whether hooks check it or it is a reminder.
/vyre lessonsYour lessons, with how often each was applied, caught and broken.
/vyre statuslineTells you how to put Vyre's line under every session.

If this happens

A /vyre command says a tool is missing

Vyre, or the part of it that owns the tool, is not running. Run vyre up, then vyre modules to see which module failed and why.

Without Vyre on the machine

The plugin does nothing until Vyre is installed. At the start of a new session (not a resume, /clear or compaction) it shows one line:

You should see

The Vyre plugin is on, but Vyre is not installed. Set it up: https://vyre.run/start

If Vyre is installed but vyre up never ran, the line says to run vyre up instead. Every other hook exits at once and prints nothing. The vyre MCP server shows as connected, with no tools. Nothing is written to disk.

Put Vyre's line under every session

Vyre's status line shows what needs you, whether your box answers, and what the assistant is doing:

You should see

vyre · 2 need you · box ok · juno idle

The line is empty while Vyre is not running, and the box part appears only once this Mac is paired with your server.

  1. In your own terminal, run:

    vyre statusline install
    
  2. It asks before it edits Claude Code's settings.json (~/.claude/settings.json, or the one under CLAUDE_CONFIG_DIR). Answer y. If the file already exists, it keeps a copy of it beside it, with .vyre-backup added to its name.

  3. Start a new Claude Code session. The line is under it.

If you already have a status line, install changes nothing and says so. Run vyre statusline install --chain to keep yours and add Vyre's line under it.

vyre statusline uninstall takes Vyre's line out and puts yours back. vyre up on a Mac, run in a terminal, offers the status line and remembers a no. It never asks when its output is piped or with --json.

Why Why can't the plugin set the status line itself?

Claude Code does not let a plugin set the status line: only your own settings.json can. Vyre could write that file from a hook, but that edits your setup without asking. So the plugin only tells you the command, and the command asks first.

Threads Vyre starts

The Claude threads Vyre starts (from the Vyre app, Chat, Lumen, an agent, vyre start or vyre resume) load the same plugin from Vyre's own copy with --plugin-dir. For that session it replaces the installed plugin, so the hooks never run twice.

Codex and Grok threads Vyre starts do not run Claude Code, so they have no hooks and no plugin. They reach Vyre's tools through Vyre's own tool server, and Vyre checks each call there, and a tool that needs a person still needs one.

Uninstall

/plugin uninstall vyre@vyre

To drop the marketplace too:

/plugin marketplace remove vyre

Take the status line out separately with vyre statusline uninstall.

What it will not do

  • It never edits your Claude Code settings. Only vyre statusline install does, after asking.
  • It does not bypass Vyre's rules. A tool that needs a person (a Gate approval, a vault reveal) still needs one when Claude calls it.
  • /vyre lessons never accepts, retires or loosens a lesson for you. Use vyre learn accept|retire|level <id> in your own terminal.

Next

  • Connectors: MCP servers and Google accounts behind the same vyre server.
  • Learning: the lessons the hooks check.
  • Memory: what the prompt hook adds.
  • ADR 0020: why the plugin works this way.