Relay is collaborative editing for Obsidian — like Google Docs for your vault. Shared folders sync in real time with live cursors and CRDT-merged edits.
This guide walks you (or your coding agent) through the setup. If you have a coding agent open, tell it: "Set me up with Relay, docs at getrelay.slophouse.md." It'll execute the steps below.
If Obsidian isn't installed yet:
brew install --cask obsidian
open -a Obsidian
Pick or create a vault when prompted.
Enable Obsidian's CLI:
Verify: obsidian --version should print a version number.
brew tap relay-md/tap
brew install relay
Or, if you have Node:
npx @system3/relay@latest --help
Verify: relay --help should list subcommands.
relay login
Browser opens to Relay's OAuth. Sign in (Google, GitHub, Microsoft, or Relay account), click "Authorize." The CLI catches the callback and stores your token at ~/Library/Application Support/Relay/auth.json.
You should see: Logged in as <your name>.
obsidian plugin:install id=system3-relay enable
Fetches and enables the Relay plugin in your active vault. If already installed, you'll see a message — proceed.
obsidian eval code='await app.plugins.plugins["system3-relay"].api.adoptCliToken()'
The plugin reads your CLI's auth token and signs itself in with the same identity. You should see: Relay plugin is now signed in.
Prototype note: The plugin-side
adoptCliToken()method ships shortly. Until then you may need to paste your token fromauth.jsoninto the plugin's settings panel manually — or see the hacky harness, which uses the plugin's own login flow and skips this step entirely.
relay folder add ~/Notes/work
(Replace ~/Notes/work with a folder inside your vault.)
The CLI creates a default Relay workspace if you don't have one and registers the folder. You'll get a share key like relay-7f3a91c2.
Give them your share key. They run:
relay folder join relay-7f3a91c2
Their folder syncs with yours immediately. Open the same note in both — you'll see live cursors.
command not found: relay — re-run step 2; check which relay.command not found: obsidian — your Obsidian CLI isn't enabled. Revisit step 1.adoptCliToken refused — the plugin is signed in as a different user. Sign out via Settings → Relay, then re-run step 5.system3.md. Try a different network.If you're an AI agent reading this for a user: