Run a terminal in a sidebar inside Obsidian — multiple independent tabs, each its own PowerShell 7 session — so you can use Claude Code (or any CLI) without leaving your vault.
Desktop only (Windows / macOS). Partner spawns an external Node process and a shell, so it cannot run on Obsidian mobile.
- Terminal sidebar powered by xterm.js.
- Multiple independent terminal tabs, each with its own session and PTY.
- Theme-aware — colors follow your active Obsidian theme.
- Clickable links: URLs open in your browser; vault paths and wikilinks open inside Obsidian.
- Configurable starting directory, font size/family, and copy-on-select.
- Explicit
node/npm/pwshpaths in settings for when they are not on your PATH.
- Obsidian 1.4.11+ on desktop (Windows or macOS).
- Node.js on your PATH (or set its path in the plugin settings).
- PowerShell 7 (
pwsh) on your PATH (or set its path in the plugin settings). - Internet access on first launch — see "How it works" below.
Partner runs a small Node "relay" process, separate from Obsidian. The relay
opens a local WebSocket server on 127.0.0.1:48771 and, for each terminal tab,
spawns a PowerShell 7 PTY via node-pty.
The plugin (running inside Obsidian) is the WebSocket client.
On first launch the plugin writes the relay files into its own folder and runs
npm install --production there to fetch the relay's dependencies (node-pty,
ws). After that, no network access is needed.
In line with the Obsidian developer policies, Partner discloses the following:
- External process and shell access. Partner spawns a Node process and PowerShell 7 sessions. A terminal has the same access as your normal shell — it can read and modify files anywhere on your system, not only inside the vault. Treat it with the same caution as a system terminal.
- Local network use. The relay listens on the loopback address
127.0.0.1:48771. The plugin itself sends no data to any remote server; the connection is local-only. - First-run dependency install. On first launch the plugin runs
npm install --productionin itsrelay/folder to fetchnode-ptyandwsfrom the npm registry. This needs Node, npm, and internet access once. - Third-party tools you run. Anything you run in the terminal (for example Claude Code) is third-party software with its own behavior, network use, and policies. Partner neither controls nor endorses it.
- No telemetry. Partner collects no analytics and sends no telemetry.
- Download
main.js,manifest.json, andstyles.cssfrom the latest release. - Create the folder
<vault>/.obsidian/plugins/partner/and place the three files inside it. - Reload Obsidian and enable Partner under Settings → Community plugins.
npm install
npm run buildThen copy main.js, manifest.json, and styles.css into
<vault>/.obsidian/plugins/partner/.
- Starting directory — home, vault root, or a custom path.
- Copy on select — copy the terminal selection to the clipboard automatically.
- Font size / family — terminal typography.
- Executable paths — explicit
node/npm/pwshpaths, used when PATH detection fails (a common cause of a "not found" error on a fresh machine).
npm run dev— watch build.npm test— Vitest: pure-logic unit tests plus a real relay integration test (requirespwsh).npm run typecheck— TypeScript type checking.
MIT.