Sandbox
@derek-larson14/obsidian-claude-sidebar

Obsidian sidebar plugin for agent CLIs

Claude Sidebar is an Obsidian plugin that opens a full terminal for an agent CLI inside the sidebar. You can start new tabs, resume conversations, target folders or files, and switch the backend CLI from settings or the command palette.

447 stars57 forksJavaScriptUpdated 9d ago
Who it's for

Builders who keep their work in Obsidian and want agent CLIs available next to their notes.

What it delivers

You can run and switch between agent sessions inside Obsidian instead of jumping to a separate terminal.

What it does

Auto-launches the default agent

Starts your chosen CLI automatically when you open a new tab.

Multiple agent tabs

Lets you run several agent sessions side by side in the sidebar.

Folder and file context menus

Adds right-click actions to open an agent in a folder or send a file path to the CLI.

YOLO mode shortcuts

Lets you launch an agent with YOLO mode from the ribbon or folder menus.

Project support outside the vault

Lets you open an agent in any folder on your machine and keep that project in the list for later.

Multi-backend switching

Supports Claude Code, Codex, Grok Build, OpenCode, Antigravity CLI, Kimi Code, GitHub Copilot, Cursor Agent, and Pi through settings or the command palette.

How to get it

  1. 1In your vault folder, run
    cd .obsidian/plugins/claude-sidebar && \
      curl -LO https://github.com/derek-larson14/obsidian-claude-sidebar/releases/latest/download/main.js && \
      curl -LO https://github.com/derek-larson14/obsidian-claude-sidebar/releases/latest/download/manifest.json && \
      curl -LO https://github.com/derek-larson14/obsidian-claude-sidebar/releases/latest/download/styles.css
  2. 2Install pywinpty into the Python the plugin will use
    py -m pip install pywinpty

README

Claude Sidebar

Run Claude Code (and other agent CLIs) in your Obsidian sidebar.

Built by Derek Larson - Pairs with Delegate commands →

Claude Sidebar

Features

  • Auto-launches your agent - Your default CLI starts automatically
  • Multiple tabs - Run multiple agents side by side
  • Embedded - Full terminal with an agent in your Obsidian sidebar
  • Folder & file context menu - Right-click any folder to open your agent in that directory, or a file to send it the path
  • YOLO mode - Launch your agent with YOLO mode via right-click menus
  • Projects outside the vault - Open agent in project… opens an agent in any folder on your machine. Browse… adds one, and it stays in the list afterwards; ⌘1⌘9 pick which CLI to open it with
  • Multi-backend - Switch between Claude Code, Codex, Grok Build, OpenCode, Antigravity CLI, Kimi Code, GitHub Copilot, Cursor Agent, and Pi in settings, or via Switch CLI provider… in the command palette

Requirements

Installation

From Community Plugins (recommended)

Visit the plugin listing at community.obsidian.md/plugins/claude-sidebar and click Add to Obsidian. Then in Obsidian, click InstallEnable.

Windows: See Windows Setup below.

Manual Installation (Mac/Linux)

In your vault folder, run:

mkdir -p .obsidian/plugins/claude-sidebar && cd .obsidian/plugins/claude-sidebar && \
  curl -LO https://github.com/derek-larson14/obsidian-claude-sidebar/releases/latest/download/main.js && \
  curl -LO https://github.com/derek-larson14/obsidian-claude-sidebar/releases/latest/download/manifest.json && \
  curl -LO https://github.com/derek-larson14/obsidian-claude-sidebar/releases/latest/download/styles.css

Then in Obsidian: Settings → Community Plugins → Refresh → Enable "Claude Sidebar".

Manual Updating

In your vault folder, run:

cd .obsidian/plugins/claude-sidebar && \
  curl -LO https://github.com/derek-larson14/obsidian-claude-sidebar/releases/latest/download/main.js && \
  curl -LO https://github.com/derek-larson14/obsidian-claude-sidebar/releases/latest/download/manifest.json && \
  curl -LO https://github.com/derek-larson14/obsidian-claude-sidebar/releases/latest/download/styles.css

Then restart Obsidian or disable/re-enable the plugin.

Windows Setup

After installing the plugin (via Community Plugins or manually), add Windows-specific dependencies:

  1. Install Python 3 from python.org
  2. Install pywinpty into the Python the plugin will use:
py -m pip install pywinpty

Use py -m pip (not just pip) to avoid installing into a different Python interpreter than the one the plugin selects. If you see "pywinpty not installed" in the sidebar after installing, the error message will print the exact interpreter path — install pywinpty into that one.

  1. Pick whether to run your agent inside WSL or natively in cmd.exe. Configure in Settings → Claude Sidebar → Shell (Windows only — Linux/macOS always run bash):
OptionSpawnsPath translation
cmd.exe (default)cmd.exenone
wsl.exe (WSL)wsl.exeWindows paths → Linux paths via wslpath

Use wsl.exe when your agent CLI, Node, or git toolchain lives in a WSL distro. Vault paths sent to the agent (file path command, selection context, drag-drop, image paste, wikilink references) are converted to Linux form before reaching the CLI. Translation respects a custom /etc/wsl.conf [automount] root, so paths still resolve if your C:\ mounts at /c/ instead of /mnt/c/.

Usage

https://github.com/user-attachments/assets/de98439a-8a1f-4a8a-9d02-44027d756462

  • Click the bot icon in the left ribbon to open a tab
  • Right-click the bot icon for YOLO mode, folder targeting, or resuming a conversation
  • Right-click any folder for "Open here" or "Open here (YOLO)" - both name your current CLI
  • Use Command Palette (Cmd+P) for all commands:
    • Open terminal / New agent tab / Close agent tab
    • New agent tab (other CLI)… - One-off tab on another CLI, default unchanged
    • Open agent in project… - Start an agent in a project outside the vault
    • Switch default CLI provider… - Change which CLI every new tab uses
    • Toggle Focus: Editor ↔ Agent - Quick switch between editor and agent
    • Run agent from this folder - Start the agent in the active file's directory
    • Resume last conversation - Pick up where you left off (--continue)
    • Send file path to agent / Send selection to agent
  • Press Shift+Enter for multi-line input
  • Set your own hotkeys in Settings → Hotkeys

Platform Support

PlatformStatus
macOS✅ Supported
Linux✅ Supported
Windows✅ Supported

Want to use it on iOS or Android? See Claude Anywhere.

How It Works

  • xterm.js for terminal emulation
  • Python's built-in pty module for pseudo-terminal support (macOS/Linux)
  • pywinpty for Windows PTY support

Development

Testing in Obsidian

Symlink the repo into a scratch vault so edits load with no copy step. Reload after each change with Settings → Community plugins → toggle Claude Sidebar off/on:

ln -s "$PWD" /path/to/test-vault/.obsidian/plugins/claude-sidebar

To install a tested build into a real vault:

./install.sh /path/to/vault

PTY scripts

The PTY scripts (terminal_pty.py for Unix, terminal_win.py for Windows) are embedded as base64 in main.js for Obsidian plugin directory compatibility. To rebuild after modifying:

./build.sh

Contributing

Hit a bug or want to develop a new feature? Point your coding agent at CLAUDE.md in this repo. It will walk you through diagnosis, filing a report, or opening a PR.

License

MIT

Files in the repo

Repository payload14 top-level entries
  • .gitignore
  • AGENTS.md
  • build.sh
  • CLAUDE.md
  • demo.mp4
  • install.sh
  • LICENSE
  • main.js
  • manifest.json
  • README.md
  • screenshot-obsidian.png
  • styles.css
  • terminal_pty.py
  • terminal_win.py

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More plugins

Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.

138k
1 add

Graphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.

82k
code-yeongyu/
oh-my-openagent

OmO: Just type "mass ulw" keyword with your prompt. Now you are the master of graph engineering.

69k

Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More

94k

Opinionated Oxlint rules for rejecting low-evidence TypeScript and JavaScript patterns

4.3k