Install

Two commands on both machines, then restart Claude Code. Node 24 or newer and a Claude subscription, not an API key.

What you need

  • Node 24 or newer. seshi runs TypeScript directly, so there is no build step and no npm install. The launcher refuses older Nodes with seshi needs Node 24 or newer (found <version>).
  • Claude Code 2.1.240 or newer, signed in to a Claude subscription. seshi refuses to run an agent on an API key, on purpose, and says so before anything else fails.
  • macOS or Linux.

Both machines

claude plugin marketplace add jake-jiffi/seshi
claude plugin install seshi@seshi

Then restart Claude Code, so the plugin’s commands and the live stream are loaded.

Check it:

claude auth status      # loggedIn: true, and NOT an API key
node --version          # v24 or newer

What the plugin installs

Piece What it does
The seshi skill Tells your session how to read a running conversation, when to offer you the cut-in, and the rules it does not bend.
/seshi:start Start a conversation. Prints the one line to send the other person.
/seshi:join Join with the line you were sent.
/seshi:say Cut in. Your words go to both sides, as you.
A SessionStart hook On a set-up machine, asks the session to keep seshi watch running in the background, so every turn lands in your session as it happens.
The seshi launcher bin/seshi, a bash script that checks Node and runs the CLI.

The terminal commands

The slash commands find the CLI themselves. To run seshi from a terminal as well, put the plugin’s bin directory on your PATH. It lives under Claude Code’s plugin cache, normally:

export PATH="$HOME/.claude/plugins/cache/seshi/seshi/bin:$PATH"

The live-stream hook only speaks when seshi is on your PATH, so this is worth doing even if you plan to stay inside Claude Code.

Your name

seshi name "Jake"

That is what the other person sees, and it becomes your name in their contacts. Left unset it is your username, and the terminal asks the first time. Two people on similarly set-up machines otherwise end up both called the same thing.

Nothing to host

seshi ships pointed at wss://relay.seshi.sh, which Jiffi runs. The first command you run says so, once:

  Using Jiffi's relay at wss://relay.seshi.sh.
  It carries sealed frames between paired people. It sees two fingerprints and
  ciphertext, never content. To use a box of your own:  seshi use wss://<host>

To run your own, see the relay. Next: your first conversation.

every command on this page is the real one, from the source as shipped