Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.
Obsidian plugin for Claude Code and Codex
Claudian adds coding agents to Obsidian so you can talk to them in a sidebar, make inline edits, and let them work across files in your vault. It wraps several agent CLIs and provider adapters, plus MCP support, tab/session management, and an optional Collab mode.

Builders who use Obsidian as their working vault and want Claude Code or Codex to operate on those notes and files.
You can keep agent work, note edits, and file operations inside one vault instead of switching between tools.
What it does
Chat sidebar
Open a chat panel from the ribbon or command palette and work with the agent in your vault.
Inline edit
Select text or place the cursor and edit directly in a note with a word-level diff preview.
Slash commands and skills
Use `/` and `$` for reusable prompt templates and Skills from user or vault scope.
File mentions
Use `@` to reference vault files, folders, and Collab changes, and `#` for Collab tickets.
Instruction mode
Add custom instructions from the chat input with `/instruction`.
MCP server support
Connect external tools through each agent’s native CLI-managed MCP configuration.
Tabs and session management
Run multiple chat tabs or keep a persistent session manager beside the chat.
Collab mode
Work on shared projects with other Claudian users over local network sync.
How to get it
- 1Clone this repository into your vault's plugins folder
cd /path/to/vault/.obsidian/plugins git clone https://github.com/YishenTu/claudian.git cd claudian
- 2Install dependencies and build
npm install npm run build
- 3Run
# Watch mode npm run dev # Production build npm run build
README
Claudian

An Obsidian plugin that embeds AI coding agents (Claude Code, Codex, Grok, Opencode, Pi, and more to come) in your vault. Your vault becomes the agent's working directory — file read/write, search, bash, and multi-step workflows all work out of the box. Visit claudian.md to learn more.
Features & Usage
Open the chat sidebar from the ribbon icon or command palette. Select text and use the shortcut for inline editing. Everything works like your familiar coding agent, Claude Code, Codex, Grok, Opencode, and Pi — talk to the agent, and it reads, writes, edits, and searches files in your vault.
Inline Edit — Select text or start at the cursor position + hotkey to edit directly in notes with word-level diff preview.
Slash Commands & Skills — Type / or $ for reusable prompt templates or Skills from user- and vault-level scopes.
@mention — Type @ to reference vault files, folders, and Collab member changes. Type # to reference Collab tickets.
Instruction Mode (/instruction) — Refined custom instructions added from the chat input.
MCP Servers — Connect external tools through each coding agent's native CLI-managed MCP configuration.
Tabs & Session Management — Use multiple tabs in single-panel mode or a persistent session manager beside the chat in dual-pane mode.
Collab Mode (Experimental) — Collaborate on shared projects with other Claudian users. Learn more.
Requirements
- At least one of the following harnesses:
- A compatible subscription or API provider, such as OpenRouter, Kimi, GLM, or DeepSeek etc.
- Obsidian v1.13.0+
- Desktop only (macOS, Linux, Windows)
- Collab Mode requires Git
Installation
From Obsidian Community Plugins (recommended)
- Open Obsidian → Settings → Community plugins → Browse
- Search for "Claudian" and click Install
- Enable the plugin
Or install directly from the community plugin page.
Plugin size and Obsidian Sync
Despite considerable effort to reduce the bundle size, keeping it below 5 MB is no longer practical with the latest Claude Agent SDK. The Obsidian community plugin page may therefore display a large-plugin warning, and Obsidian's official Sync service cannot sync the main plugin file because it supports only files smaller than 5 MB.
If you use Obsidian Sync across multiple desktop devices, install and update Claudian separately on each device instead of relying on Sync to copy the plugin files.
From source (development)
-
Clone this repository into your vault's plugins folder:
cd /path/to/vault/.obsidian/plugins git clone https://github.com/YishenTu/claudian.git cd claudian -
Install dependencies and build:
npm install npm run build -
Enable the plugin in Obsidian:
- Settings → Community plugins → Enable "Claudian"
Development
# Watch mode
npm run dev
# Production build
npm run build
Privacy & Data Use
- Sent to API: Your input, attached files, images, and tool call outputs. Depending on the selected provider, data is sent to Anthropic (Claude), OpenAI (Codex), xAI (Grok), or the providers configured in OpenCode or Pi. The destination can be configured through provider settings and environment variables.
- Collab LAN traffic: When you explicitly Host or synchronize a Collab Project, Project Git data and authenticated coordination metadata travel directly between invited teammates' devices on the local network. Collab Mode itself does not send Project data to a Claudian cloud service or any third party.
- No telemetry or unsolicited background activity: Claudian does not run telemetry beacons. UI polling timers read local Obsidian/editor selection state only. Network activity is limited to explicit provider runtime work, configured MCP endpoints, provider SDK/CLI calls needed to answer your requests, and explicitly started Collab LAN work.
Troubleshooting
The following sections use Claude Code as an example.
Provider CLI not found
If Claudian cannot auto-detect a provider CLI, verify that the CLI is installed and available to GUI applications through PATH. Typical errors include spawn claude ENOENT and Claude CLI not found. This issue is common with Node version managers (nvm, fnm, volta).
Leave the CLI path setting empty first so Claudian can auto-detect the CLI. If auto-detection fails, find the executable path and set it in Settings → Advanced → Claude CLI path.
| Platform | Command | Example Path |
|---|---|---|
| macOS/Linux | which claude | /Users/you/.volta/bin/claude |
| Windows (native) | where.exe claude | C:\Users\you\AppData\Local\Claude\claude.exe |
| Windows (npm) | npm root -g | {root}\@anthropic-ai\claude-code\cli-wrapper.cjs |
Note: On Windows, avoid
.cmdand.ps1wrappers. Useclaude.exefor native installs, orcli-wrapper.cjsfor package-manager installs.cli.jsis only a legacy fallback for older Claude Code npm packages.
Alternative: Add your Node.js bin directory to PATH in Settings → Environment → Custom variables.
npm CLI and Node.js not in the same directory
When using an npm-installed provider CLI, make sure its executable and Node.js are available from the same environment. Check their paths:
dirname $(which claude)
dirname $(which node)
If the paths differ, GUI apps like Obsidian may not find Node.js.
Either:
- Install the native binary (recommended).
- Add the Node.js path in Settings → Environment:
PATH=/path/to/node/bin.
More help
For provider-specific installation and configuration guidance, refer to the provider documentation linked in the Requirements section. If you have a feature request or run into a bug, please submit a GitHub issue.
Architecture
src/
├── main.ts # Plugin entry point
├── app/ # Application services, storage, and lazy Collab infrastructure
├── core/ # Provider-neutral runtime, registry, and type contracts
│ ├── runtime/ # ChatRuntime interface and approval types
│ ├── providers/ # Provider registry and workspace services
│ ├── auxiliary/ # Shared provider auxiliary services
│ ├── bootstrap/ # Plugin bootstrap wiring
│ ├── security/ # Approval utilities
│ └── ... # commands, prompt, storage, tools, types
├── providers/
│ ├── claude/ # Claude SDK adaptor, prompt encoding, storage, MCP, plugins
│ ├── codex/ # Codex app-server adaptor, JSON-RPC transport, JSONL history
│ ├── grok/ # Grok Build ACP adaptor, native history, models, and tools
│ ├── opencode/ # Opencode adaptor
│ ├── pi/ # Pi RPC adaptor, model discovery, JSONL history
│ └── acp/ # Agent Client Protocol shared transport
├── features/
│ ├── chat/ # Sidebar chat: tabs, controllers, renderers
│ ├── collab/ # Collab sidebar, review, conflict, and access UI
│ ├── inline-edit/ # Inline edit modal and provider-backed edit services
│ └── settings/ # Settings shell with provider tabs
├── shared/ # Reusable UI components and modals
├── i18n/ # Internationalization (10 locales)
├── types/ # Shared ambient types
├── utils/ # Cross-cutting utilities
└── style/ # Modular CSS
Contributing
Issues and focused pull requests are welcome. Issues are the preferred starting point: describe the problem, reproduction steps, and environment clearly so it can be investigated.
Before opening a pull request, please read the contribution guide. Pull requests must explain the problem, the proposed solution, why the approach is appropriate, and how the change was validated. Pull requests that add a new provider are not accepted; the guide explains this maintenance and product-quality boundary in detail.
Star History
Sponsorship
Kimi (Moonshot AI)
Thanks to Kimi (Moonshot AI), our Open Source Friend, for supporting Claudian! With 2.8T parameters, native vision, and a 1-million-token context window, Kimi K3 delivers frontier performance across long-horizon coding, knowledge work, and reasoning.
New users receive bonus API credits equal to 10% of their first successful top-up. Use the discount link for the CN or Global platform. This offer ends September 30, 2026. Claudian receives no affiliate commission from these links.
Ke Holdings Inc. (BEIKE)
Claudian is proudly sponsored by Ke Holdings Inc. (BEIKE) and the MOMA team. Their support helps Claudian continue to improve through ongoing development and maintenance.
Want to support Claudian or appear here? Contact me: tysk01213@gmail.com.
License
Licensed under the MIT License.
Files in the repo
- .github
- assets
- scripts
- src
- tests
- .env.local.example
- .gitignore
- .node-version
- .npmrc
- AGENTS.md
- bun.lock
- CLAUDE.md
- CONTRIBUTING.md
- esbuild.config.mjs
- eslint.config.mjs
- jest.config.js
- LICENSE
- manifest.json
- package-lock.json
- package.json
- README.md
- stylelint.config.mjs
- tsconfig.jest.json
- tsconfig.json
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More plugins

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.
OmO: Just type "mass ulw" keyword with your prompt. Now you are the master of graph engineering.
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
Opinionated Oxlint rules for rejecting low-evidence TypeScript and JavaScript patterns
Teams-first Multi-agent orchestration for Claude Code