Claude Code IDE

pending

by petersolopov

Connect your vault to Claude Code. Shares selections and open files with the CLI.

66 starsUpdated 7d agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

Obsidian as IDE for Claude Code

Minimal bridge between Obsidian and Claude Code — shares real-time editor context with the CLI, nothing more.

  • Zero config — install, enable, /ide, done
  • Zero dependencies — single main.js, no runtime deps
  • Send to Claude — select text or a file in Obsidian

https://github.com/user-attachments/assets/79c7e68f-accd-42a8-9508-6d5953aa90c4

Install

Community plugin submission is pending review.

Install with BRAT:

  1. Install BRAT from Community Plugins
  2. BRAT settings → Add Beta plugin → petersolopov/obsidian-claude-ide
  3. Enable in Settings → Community plugins → toggle on Claude Code IDE
  4. In Claude Code: run /ide → select Obsidian
Manual install
  1. Download main.js and manifest.json from the latest release
  2. Create folder claude-code-ide in your vault's .obsidian/plugins/ and put both files there
  3. Enable and connect as above

How it works

The plugin runs an MCP server over WebSocket inside Obsidian. Claude Code discovers it automatically and shows Obsidian in the /ide selector. Once connected, Claude Code can see your open files and current selection. Use the "Send to Claude" command to explicitly pass selected text as context.

Claude Code reads and edits files directly through the filesystem. The plugin provides editor context in the other direction — open files and selections. No diff view — edits appear directly in the file.

Security

  • Localhost only — WebSocket server binds to 127.0.0.1, no network exposure
  • Per-session auth — unique token via crypto.randomUUID(), verified on every connection
  • Read-only — plugin shares selections and open file names, never writes files or executes code
  • Zero runtime dependencies — single bundled main.js, no third-party code at runtime
  • No shared secrets — auth token readable only by your OS user, discarded on restart

Tips

Claude Code can call Obsidian CLI directly through the terminal — open daily notes, move and rename files with automatic link updates, search the vault, and more. This plugin handles editor context, Obsidian CLI handles the rest. Run obsidian help to see available commands.

Development

Requires Node.js 24+.

git clone https://github.com/petersolopov/obsidian-claude-ide
cd obsidian-claude-ide
npm install
npm run build
cp main.js manifest.json /path/to/vault/.obsidian/plugins/claude-code-ide/

Enable in Settings → Community plugins → toggle on Claude Code IDE.

FAQ

Why do I need this? Claude Code can already read files in my vault.

It can, and it still does. This plugin adds real-time editor context — Claude Code continuously sees which file is open and what text you selected. Instead of "I'm editing notes/project/todo.md, rewrite the second paragraph" you just say "rewrite the second paragraph".

How is this different from Obsidian CLI?

Different layers. Obsidian CLI lets Claude Code run commands — open files, search the vault, rename with automatic link updates. This plugin shares real-time editor context — which file is open, what's selected.

Is my vault data sent to Anthropic?

Yes. Claude Code sends your prompts and context to Anthropic's API — that's how it works, with or without this plugin. If your vault has personal notes you'd rather keep private, point Claude Code at a separate project vault instead.

Does it work on mobile?

No. The plugin needs Node.js APIs that only Obsidian desktop provides. Claude Code itself is a CLI tool, so desktop on both sides.

Does it work with Gemini CLI / Codex / other agents?

No. This plugin implements Claude Code's protocol only — zero dependencies, single file, instant startup. For multi-agent support (Gemini CLI, Codex, OpenCode) check out Agent Client.

More perspectives in the Reddit thread.

See also

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.