Sync Claude conversations to Obsidian markdown files
Project description
Claude Vault
Transform your Claude conversations into a searchable, organized knowledge base in Obsidian.
What is Claude Vault?
Claude Vault is a command-line tool that syncs your Claude AI conversations into beautifully formatted Markdown files that integrate seamlessly with Obsidian and other note-taking tools.
Features
- ✅ Local-first: Your conversations, your vault, your control
- ✅ Simple CLI: Easy to use, powerful features
- ✅ Bulk Historical Import: Import your entire Claude conversation history at once
- ✅ Obsidian-native: Full frontmatter, tags, and metadata support
- ✅ AI-Powered Tagging & Summarization: Automatic generation of tags and summaries using local LLMs (Ollama) - no API costs
- ✅ Bi-directional sync: Rename and move files freely - they stay in sync
- ✅ Smart updates: Only syncs what's changed
- ✅ UUID tracking: Maintains file relationships even after renaming
- ✅ Cross-Conversation Search: Search across all conversations with context and navigate to related ones
- ✅ Smart Relationship Detection: Automatically finds and links related conversations via common tags
Key Features of the Code Parser
The JSONL parser handles:
- ✅ Session grouping - Groups messages by
sessionId - ✅ Tool results - Shows before/after state for tools
- ✅ Timestamps - Preserves message timing
- ✅ Summary as title - Uses the summary line as conversation title
- ✅ Code-specific tags - Adds 'code-session' tag to differentiate from web chats
How it Works
Claude Vault uses a modular architecture to handle different conversation formats:
- Format Detection: Automatically identifies if a file is a Web export (
.json) or Code History (.jsonl). - Parsing: specialized parsers (
messages.pyvscode_parser.py) extract messages, timestamps, and metadata. - Tagging & Summarization: If configured,
OfflineTagGeneratoruses a local LLM to analyze the conversation content, generating relevant tags and a concise summary. - Syncing: The
SyncEnginewrites markdown files to your Obsidian vault, updating only what has changed based on content hashing.
Prerequisites
- Python 3.8+
- Ollama (optional but recommended for AI tagging)
Install Claude Vault
# Clone or download the project
git clone https://github.com/MarioPadilla/claude-vault.git
cd claude-vault
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e .
# Verify installation
claude-vault --help
Test
python tests/test_parser.py
Install Ollama (Optional for AI tagging)
# On macOS
brew install ollama
# Start ollama
ollama serve
# Pull a balanced model (quality/speed)
ollama pull llama3.2:3b
Quick Usage
1. Export Your Claude Conversations
- Go to claude.ai
- Click profile → Settings
- Export conversations (downloads
conversations.json)
2. Initialize Vault
# Navigate to your Obsidian vault
cd ~/Documents/ObsidianVault
# Initialize Claude Vault
claude-vault init
3. Sync Conversations
# Import all conversations
claude-vault sync ~/Downloads/conversations.json
Supported Formats
Claude Vault supports multiple Claude conversation sources:
- Claude Web Conversations (.json) - From claude.ai exports
- Claude Code History (.jsonl) - From Claude Code IDE integration
Both formats are automatically detected based on file extension, or you can specify with --source:
# Auto-detect format
claude-vault sync conversations.json
claude-vault sync code-history.jsonl
# Sync from entire .claude folder
claude-vault sync ~/.claude
# Explicit source
claude-vault sync export.json --source web
claude-vault sync export.jsonl --source code
### 4. Check Status
```bash
claude-vault status
Common Commands
# Search conversations
claude-vault search "python"
# Search with tag filter
claude-vault search "API" --tag code
# Regenerate tags with AI
claude-vault retag
# Verify vault integrity
claude-vault verify
# Clean up orphaned entries
claude-vault verify --cleanup
Troubleshooting
"Ollama not running": Start with ollama serve
"Module not found:" Reinstall with pip install -e .
"Not initialized:" Run claude-vault init first
Configuration
Claude Vault supports global configuration for Ollama settings and custom keywords.
# View current configuration
claude-vault config
The config is stored in ~/.claude-vault/config.json. You can customize:
- Ollama Model: Change the model used for tagging (default:
llama3.2:3b) - Ollama URL: Change the Ollama API endpoint
- Custom Keywords: Add your own keywords for fallback tagging
Contributing
We welcome contributions! Please see CONTRIBUTING.md for details on how to set up the development environment and submit pull requests.
License
Claude Vault is available under a dual-license model:
🆓 Open Source License (AGPL-3.0)
Free for:
- ✅ Personal use
- ✅ Open source projects
- ✅ Educational purposes
- ✅ Research and academic use
- ✅ Non-commercial applications
Requirements under AGPL-3.0:
- Must disclose source code of any modifications
- Must keep the same license (AGPL-3.0)
- Must provide source code to users (including SaaS/network users)
- Any derivative work must also be licensed under AGPL-3.0
Perfect for: Developers, hobbyists, students, and open-source contributors who want to freely use and modify Claude Vault.
💼 Commercial License
Required for:
- ❌ Proprietary/closed-source applications
- ❌ Commercial SaaS products
- ❌ Enterprise deployments where source code disclosure is not desired
- ❌ Products that cannot comply with AGPL-3.0 copyleft terms
Benefits of Commercial License:
- ✅ Use Claude Vault in proprietary applications
- ✅ No obligation to disclose your source code
- ✅ Freedom from AGPL-3.0 copyleft requirements
- ✅ Priority support (optional)
- ✅ Custom modifications and consulting (optional)
Pricing: Contact me for a quote based on your use case.
📧 Contact: Github 📝 Subject: Claude Vault Commercial License Inquiry
❓ Which License Do I Need?
| Use Case | License Needed |
|---|---|
| Building an open-source tool | AGPL-3.0 (Free) ✅ |
| Learning/experimenting | AGPL-3.0 (Free) ✅ |
| Contributing to Claude Vault | AGPL-3.0 (Free) ✅ |
| Internal company tool (source shared with employees) | AGPL-3.0 (Free) ✅ |
| Commercial SaaS product | Commercial 💼 |
| Closed-source application | Commercial 💼 |
| Selling a product that includes Claude Vault | Commercial 💼 |
| Enterprise deployment (no source disclosure) | Commercial 💼 |
Still unsure? Contact me
Note: By using, modifying, or distributing Claude Vault without obtaining a commercial license, you agree to comply with the AGPL-3.0 terms.
CLI Commands
init
Initialize Claude Vault in the specified directory.
claude-vault init [VAULT_PATH]
Example:
claude-vault init
claude-vault init ~/Documents/my-vault
sync
Sync Claude conversations to markdown files.
claude-vault sync [EXPORT_PATH]
Examples:
claude-vault sync ~/Downloads/conversations.json
status
Show Claude Vault status and statistics.
claude-vault status
verify
Verify integrity of tracked conversations and optionally clean up mismatches.
claude-vault verify
Examples:
claude-vault verify
claude-vault verify --cleanup
search
Search across all conversations.
claude-vault search KEYWORD [OPTIONS]
Arguments:
KEYWORD- Search term (required)
Options:
--tag TEXT- Filter by tag--show-related / --no-show-related- Show related conversations (default: enabled)
Examples:
# Basic search
claude-vault search "python"
# Search with tag filter
claude-vault search "machine learning" --tag "ai"
# Search without showing related conversations
claude-vault search "debugging" --no-show-related
retag
Regenerate tags and summaries for conversations using AI.
claude-vault retag [OPTIONS]
Options:
--force- Regenerate all tags, even existing ones
Examples:
# Tag conversations without tags
claude-vault retag
# Force regenerate all tags
claude-vault retag --force
Requirements: Requires Ollama to be running with llama3.2:3b model installed.
Getting Help
Get help for any command:
claude-vault --help
claude-vault [COMMAND] --help
Examples:
claude-vault sync --help
claude-vault search --help
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_vault-0.4.1.tar.gz.
File metadata
- Download URL: claude_vault-0.4.1.tar.gz
- Upload date:
- Size: 25.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3afcf16bd6421d2ca6268cb2b48a1dfebfa7f92d4f74ab3dcf1f0a9d4f8953fd
|
|
| MD5 |
4b5d0946c0a19bfc6aa3313d2eaf3edc
|
|
| BLAKE2b-256 |
0e2342fe002b69493c5644f60b331a9648aa5bde08f03b9c1c8fb9f1fe47a15f
|
File details
Details for the file claude_vault-0.4.1-py3-none-any.whl.
File metadata
- Download URL: claude_vault-0.4.1-py3-none-any.whl
- Upload date:
- Size: 22.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50bb785dcdac458aa8f5d88a979fb322267f90486e80aa0a4f9c7406f7744cf8
|
|
| MD5 |
a539636a81e86a99fd3a627d69cc9817
|
|
| BLAKE2b-256 |
8097cee97919602799215014e039495efa7c03b3e90aabad2eba854d4e7f655a
|