Chat with Claude AI using the Agent SDK directly in Obsidian.
- Full Agent SDK Integration - Access Claude Code's capabilities directly in Obsidian
- Tool Usage - Claude can read/write files, run commands, search the web
- Streaming Responses - Real-time streaming of Claude's responses
- Session Management - Conversations persist and can be resumed
- Configurable - Control which tools Claude can use, permission modes, and more
- Claude Code CLI installed and authenticated
- Obsidian Desktop (not mobile - uses Node.js features)
- Node.js 18+
# Clone the repo
git clone <repo-url>
cd obsidi-claude
# Install dependencies
npm install
# Build
npm run build
# For development with auto-rebuild
npm run devCreate a symlink from your Obsidian vault's plugins folder:
ln -sfn /path/to/obsidi-claude /path/to/vault/.obsidian/plugins/obsidi-claude- Enable the plugin in Obsidian Settings > Community Plugins
- Click the message icon in the ribbon, or run "Open Claude Chat" command
- Type your message and press Enter (or click Send)
Open Settings > Obsidi-Claude to configure:
- Model: Choose Claude Sonnet 4.5, Opus 4, or 3.5 Sonnet
- Working Directory: Where Claude operates (defaults to vault root)
- Permission Mode:
- Default: Ask for confirmation before sensitive operations
- Accept Edits: Auto-approve file changes
- Bypass: No confirmations (use with caution)
- Max Turns: Limit conversation turns
- Show Tool Calls: Display when Claude uses tools
- Allowed Tools: Enable/disable specific tools
When enabled, Claude can use:
- Read: Read file contents
- Write: Create new files
- Edit: Modify existing files
- Glob: Find files by pattern
- Grep: Search file contents
- Bash: Run shell commands
- WebFetch: Fetch web pages
- WebSearch: Search the web
Obsidian Plugin
└── @anthropic-ai/claude-agent-sdk
└── Claude Code CLI (subprocess)
└── Claude API
The plugin uses the official Claude Agent SDK which spawns Claude Code as a subprocess. This provides full access to Claude Code's capabilities including file operations, shell commands, and web access.
The plugin supports two backends: SDK (full Claude Code features) and API (direct Anthropic API).
┌───────────────────┐
│ preferredBackend? ├─────┬────────┐
└─────────┬─────────┘ └────────┼──────────────────────┐
│ │ │
▼ ▼ ▼
┌───────────────────┐ ┌────────────────┐ ┌───────────┐
│ 'sdk' │ │ 'api' │ │ 'auto' │
└─────────┬─────────┘ └────────┬───────┘ └─────┬─────┘
│ │ │
▼ ▼ ▼
┌───────────────────┐ ┌────────────────┐ ┌───────────┐
│ SDK available? ├─no─►│ API Backend │◄mobile─┤ Platform? │
└─────────┬─────────┘ └────────────────┘ └─────┬─────┘
│ ▲ │
yes no desktop
│ │ │
▼ │ ▼
┌───────────────────┐ ┌────────┴───────┐ │
│ SDK Backend │◄yes─┤ SDK available? │◄─────────────┘
└───────────────────┘ └────────────────┘
| Backend | Features | Platform |
|---|---|---|
| SDK | Full Claude Code: tools, sessions, MCP servers | Desktop only |
| API | Direct Anthropic API: lighter, mobile-compatible | All platforms |
Ensure Claude Code CLI is installed and in your PATH:
claude --versionIf not installed, visit code.claude.com for installation instructions.
Check Obsidian's developer console (Cmd+Option+I) for errors. Common issues:
- Node.js version too old (need 18+)
- Claude Code not authenticated (run
claude login)
MIT
