Run Claude Code (and other agent CLIs) in your Obsidian sidebar.
Built by Derek Larson - Pairs with Delegate commands →

--dangerously-skip-permissions via right-click menusVisit the plugin listing at community.obsidian.md/plugins/claude-sidebar and click Add to Obsidian. Then in Obsidian, click Install → Enable.
Windows: See Windows Setup below.
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".
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.
After installing the plugin (via Community Plugins or manually), add Windows-specific dependencies:
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.
cmd.exe. Configure in Settings → Claude Sidebar → Shell (Windows only — Linux/macOS always run bash):| Option | Spawns | Path translation |
|---|---|---|
| cmd.exe (default) | cmd.exe |
none |
| wsl.exe (WSL) | wsl.exe |
Windows paths → Linux paths via wslpath |
Use wsl.exe when your Claude install, Node, or git toolchain lives in a WSL distro. Vault paths sent to Claude (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/.
https://github.com/user-attachments/assets/de98439a-8a1f-4a8a-9d02-44027d756462
Cmd+P) for all commands:--continue)Shift+Enter for multi-line input| Platform | Status |
|---|---|
| macOS | ✅ Supported |
| Linux | ✅ Supported |
| Windows | ✅ Supported |
Want to use it on iOS or Android? See Claude Anywhere.
pty module for pseudo-terminal support (macOS/Linux)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
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.
MIT