Skip to content

About

Terminal sidebar for Obsidian — multiple PowerShell 7 tabs via an external PTY relay, for running Claude Code inside your vault. Desktop only.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Partner

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.

Features

  • 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 / pwsh paths in settings for when they are not on your PATH.

Requirements

  • 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.

How it works

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.

Disclosures

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 --production in its relay/ folder to fetch node-pty and ws from 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.

Installation

Manual

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. Create the folder <vault>/.obsidian/plugins/partner/ and place the three files inside it.
  3. Reload Obsidian and enable Partner under Settings → Community plugins.

From source

npm install
npm run build

Then copy main.js, manifest.json, and styles.css into <vault>/.obsidian/plugins/partner/.

Settings

  • 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 / pwsh paths, used when PATH detection fails (a common cause of a "not found" error on a fresh machine).

Development

  • npm run dev — watch build.
  • npm test — Vitest: pure-logic unit tests plus a real relay integration test (requires pwsh).
  • npm run typecheck — TypeScript type checking.

License

MIT.

About

Terminal sidebar for Obsidian — multiple PowerShell 7 tabs via an external PTY relay, for running Claude Code inside your vault. Desktop only.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages