claudian README

The project's README from github.com/YishenTu/claudian. As one markdown file: README.md.

Claudian

Claudian on Trendshift GitHub stars Obsidian downloads GitHub release License

Preview

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

Installation

  1. Open Obsidian → Settings → Community plugins → Browse
  2. Search for "Claudian" and click Install
  3. 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)

  1. 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
    
  2. Install dependencies and build:

    npm install
    npm run build
    
  3. Enable the plugin in Obsidian:

    • Settings → Community plugins → Enable "Claudian"

Development

# Watch mode
npm run dev

# Production build
npm run build

Privacy & Data Use

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 .cmd and .ps1 wrappers. Use claude.exe for native installs, or cli-wrapper.cjs for package-manager installs. cli.js is 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:

  1. Install the native binary (recommended).
  2. 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

Star History Chart

Sponsorship

Kimi (Moonshot AI)

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)

MOMA

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: [email protected].

License

Licensed under the MIT License.

claudian (YishenTu/claudian)

Searching Database…

15.7K ·GitHub
What is this?Claudian is an Obsidian plugin that embeds AI coding agents (Claude Code, Codex, Grok, Opencode, Pi) into your vault, turning the vault into the agent's working directory for file read/write, search, and bash commands.
Is this a standalone app or does it need Obsidian running?It's an Obsidian plugin, not a standalone app — it lives inside the Obsidian desktop app and drives external coding-agent CLIs you already have installed.
How do I install Claudian?Install it from Obsidian's Community Plugins browser by searching for 'Claudian' and clicking Install, then enable it; alternatively, clone the repo into your vault's plugins folder and build it from source.
Do I need Claude Code or another CLI installed first?Yes — at least one harness (Claude Code CLI, Codex CLI, Grok Build, OpenCode, or Pi) must be installed, plus a compatible subscription or API provider such as OpenRouter, Kimi, GLM, or DeepSeek, and Obsidian v1.13.0+.
Any install pitfalls I should know about?The plugin bundle is now over 5 MB because of the Claude Agent SDK, so Obsidian's official Sync can't sync it — you need to install and update it manually on each device. CLI auto-detection can also fail on Windows if the provider CLI isn't on PATH for GUI apps.
Does Claudian work on mobile Obsidian or only desktop?Desktop only — macOS, Linux, and Windows. There's no mobile support, and Collab Mode additionally requires Git.
Where does my vault data go when I use Claudian?Your input, attached files, images, and tool call outputs are sent to whichever provider you select (Anthropic, OpenAI, xAI, or an OpenCode/Pi-configured backend); the plugin runs no telemetry of its own.
What is Collab Mode?An experimental feature letting multiple Claudian users work on a shared project together; Git-based project data and coordination metadata sync directly between teammates' devices over the local network, with no Claudian cloud service involved.
What does Inline Edit do?Select text or place the cursor and trigger a hotkey to have the agent edit directly in your notes, with a word-level diff preview before changes are applied.
Can I connect MCP servers to Claudian?Yes — MCP servers are configured through each coding agent's own native CLI-managed MCP configuration rather than a separate Claudian setting.
Why won't the maintainer accept PRs adding new agent providers?The contribution guide explicitly draws this as a maintenance and product-quality boundary, so new provider integrations are not accepted as community pull requests.
Creator
YishenTu
Size
33 MB
Stars
15.7K
Age
10mo
Commits · 90 Days