Obsidian stores your knowledge. Claude Code processes it. Together, they create something neither tool achieves alone: an AI that actually knows your business, your preferences, and your history without being told every session.
This integration isn't theoretical. It's the architecture behind AI memory systems that professionals use daily for client work, business operations, and knowledge management. Here's how to build it.
Why Obsidian + Claude Code
The combination solves problems that plague every other AI memory approach:
Local-First Knowledge
Your notes stay on your machine. No uploading to third-party servers. No subscription to another SaaS tool. Obsidian stores everything as plain markdown files that you own and control.
File System Access
Claude Code reads files directly. Point it at your Obsidian vault, and it can access any note, any folder, any piece of context you've documented. No manual uploads. No copy-pasting context.
Semantic Search
With QMD (Quick Markdown) indexing, Claude can search your vault by meaning, not just keywords. Ask about concepts, and it finds relevant notes even without exact phrase matches.
ChatGPT's memory feature stores 1,500 characters. Custom GPTs hold a few thousand more. An Obsidian vault holds your entire professional knowledge base: client histories, SOPs, project notes, research, everything. Claude Code can access all of it.
Prerequisites
Before integrating, you need both tools installed and configured:
- Obsidian — Any recent version, with a vault you actively use
- Claude Code — Installed and authenticated (see our Claude Code Setup Guide)
- QMD — Optional but recommended for semantic search
This guide assumes you already have notes in Obsidian. If you're starting from scratch, you can still follow along, but the real power comes from connecting Claude to existing knowledge.
Step 1: Vault Structure for AI Access
Claude Code can read your entire vault, but structure determines usefulness. An organized vault produces better AI outputs than a chaotic one.
A recommended structure for AI integration:
vault-root/
├── CLAUDE.md # Master context file
├── 00 - System/
│ ├── _context.md # System-wide rules
│ └── Templates/ # Note templates
├── 01 - Projects/
│ ├── _context.md # Project conventions
│ └── [project folders]
├── 02 - Clients/
│ ├── _context.md # Client handling rules
│ └── [client folders]
├── 03 - Knowledge/
│ ├── _context.md # Reference material rules
│ └── [topic folders]
└── 04 - Daily/
└── [daily notes]
The _context.md files in each domain folder tell Claude how to handle that type of content. They load automatically through hooks when Claude detects relevant keywords in your prompts.
Step 2: Configure CLAUDE.md for Vault Access
Your CLAUDE.md file (in the vault root) should reference the vault structure and establish how Claude interacts with your notes:
# Vault Configuration
## Structure
This is an Obsidian vault with numbered domain folders.
Each domain has a _context.md with specific rules.
## Search
Use QMD for vault searches:
- qmd search: keyword/exact matches
- qmd vsearch: semantic/conceptual
- qmd get: retrieve full file content
## Rules
- Read files before editing
- Use wiki-links for references: [[Note Name]]
- Date format: YYYY.MM.DD
- Never delete files without explicit confirmation
## Current Focus
[Update this section with active projects/priorities]
The CLAUDE.md file loads at every session start, giving Claude immediate context about your vault's structure and conventions.
Step 3: Set Up QMD Indexing
QMD (Quick Markdown) creates a searchable index of your vault. Without it, Claude must read files sequentially. With it, Claude can search thousands of notes instantly.
Install QMD:
npm install -g qmd
Index your vault:
cd /path/to/vault
qmd index
For semantic search (finding conceptually related content), also run:
qmd embed
The embedding process takes longer but enables natural language search across your entire knowledge base.
Step 4: Create Domain Context Files
Each major area of your vault should have a _context.md file that tells Claude how to handle that domain. For example, a client folder context file:
# Client Domain Context
## Conventions
- One folder per client
- Each client has: overview.md, history.md, active-projects.md
- Use tags: #active, #paused, #completed
## Sensitive Data
- Never share client info between client folders
- Confirm before referencing specific client details
## Common Tasks
- Status updates: Check active-projects.md
- History lookup: Search client history.md
- New project: Create from template, update overview
Claude loads the relevant context file when your prompt mentions client-related keywords. The routing happens through hooks you configure in Claude Code.
Step 5: Configure Hooks for Auto-Loading
Hooks automate context loading. Instead of manually telling Claude to read specific files, hooks detect patterns in your prompts and inject relevant context.
A basic routing hook (.claude/hooks/route-domain.sh):
#!/bin/bash
# Route prompts to domain context files
PROMPT="$1"
VAULT="/path/to/vault"
if echo "$PROMPT" | grep -qi "client"; then
cat "$VAULT/02 - Clients/_context.md"
fi
if echo "$PROMPT" | grep -qi "project"; then
cat "$VAULT/01 - Projects/_context.md"
fi
Configure Claude Code to run this hook on user prompt submission. The hook's output gets injected as context before Claude processes your request.
Obsidian vs Notion for AI Integration
| Factor | Obsidian | Notion |
|---|---|---|
| File access | Direct (local files) | API required |
| Data ownership | Local markdown | Cloud-hosted |
| Search speed | Instant (QMD) | API latency |
| Offline access | Full | Limited |
| Claude Code integration | Native | Workarounds needed |
Notion AI exists, but it operates within Notion's ecosystem. Obsidian with Claude Code gives you AI access to your knowledge without platform lock-in. Your vault remains portable markdown files that work with any tool.
Real-World Usage Patterns
Morning Context Load
Start each day by running Claude in your vault directory. The CLAUDE.md loads automatically. Ask about today's priorities, and Claude searches your daily notes and project files to generate a contextual briefing.
Client Session Prep
Before a client call, mention the client name. The hook loads their context file. Ask Claude to summarize recent activity, and it searches their folder for the latest notes, pulling relevant history into your conversation.
Knowledge Retrieval
Working on a project that touches previous research? Ask Claude to find related notes using semantic search. It queries your vault's QMD index and surfaces notes you wrote months ago but forgot about.
Get the Pre-Built System
Skip the configuration complexity. Our setup includes optimized vault structure, pre-configured hooks, CLAUDE.md templates, and QMD indexing—ready to use immediately.
Get Complete Setup ($997)Troubleshooting Common Issues
Claude Can't Find Files
Check that you're running Claude from the vault directory. Claude Code reads from the current working directory and subdirectories. Running from outside the vault restricts file access.
QMD Search Returns Nothing
Re-run qmd index to rebuild the index. If you recently added files, the index may be stale. For semantic search issues, ensure you ran qmd embed after indexing.
Hooks Not Firing
Verify hook permissions (chmod +x hookfile.sh). Check Claude Code's hook configuration to ensure the hook is registered for the correct trigger event.
Next Steps
With Claude Code connected to your Obsidian vault, you have the infrastructure for persistent AI memory. The system improves as your vault grows. More notes mean more context. Better organization means faster retrieval. Refined context files mean more accurate AI responses.
Related guides:
- Claude Code Setup Guide — Initial installation and configuration
- Claude vs ChatGPT Memory — Detailed comparison of memory approaches
- How to Make AI Remember You — The complete guide to AI memory
For business owners who need AI that understands their operations from day one, this integration changes what's possible. No more starting over. No more repeating context. The AI remembers because your Obsidian vault remembers.