mrkeyoor.com_
Fri 25 Sept 17:45 UTC
LLM Toolsevaluationupdated 26 Aug 2026

claude-obsidian review

claude-obsidian is a local knowledge system that uses Claude Code or another Agent Skills host to turn source material into linked, cited Obsidian notes. It keeps Markdown, captured sources, provenance records, and transaction data in a vault the user owns.

+112stars / 7d
Verdict

Our claude-obsidian run passed 458 of 463 tests but failed 5 after 579 seconds, so its careful write design did not produce a clean baseline at commit 1c1bc49. It is a serious choice for Claude Code users who will review every mutation plan and value plain-file provenance. Wait or test on a copy if Windows, iCloud, concurrent writers, or zero-maintenance ingestion are central to your workflow.

We ran it

Lab card: what happened when we ran claude-obsidianScreenshot of claude-obsidian (github.com/AgriciDaniel/claude-obsidian)
Install✓ · 12s35 packages · 37 MB
Build✓ · 4s
Tests✗ · 579s458 passed · 5 failed · 5 skipped of 463 (pytest)
Known vulns0(pip-audit)
Repo201 files~41,534 lines of source · 3 MB · 1 CI workflows · tests dir

Answers from our run

Does claude-obsidian build from source?

Dependencies installed in 12 seconds (35 packages), and the build succeeded in 4 seconds. We cloned commit 1c1bc49 into a clean Debian container with 3 CPUs and no project-specific setup.

Do claude-obsidian's tests pass?

Not all of them: 458 of 463 passed and 5 failed when we ran the project's own test command (pytest). Some failures need services or credentials a bare container does not have.

Does claude-obsidian have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use claude-obsidian?

People seeking automatic PDF, EPUB, OCR, URL, or YouTube extraction: the README says several paths capture metadata only or require an external runner.

What are the alternatives to claude-obsidian?

Obsidian Copilot, Khoj, Smart Connections. Our claude-obsidian run passed 458 of 463 tests but failed 5 after 579 seconds, so its careful write design did not produce a clean baseline at commit 1c1bc49.

Setup2/5Small install, but hashed approvals and 5 test failures add friction
Docs5/5Detailed setup, trust, platform, recovery, and capability limits
Community4/513,338 stars with active issues and an August 2026 release
Maturity3/5v2.1.1 has safety work, but platform and wrapper bugs remain

Who it’s for

Claude Code users who want a source-backed research vault rather than automatic transcript storage.
Obsidian users comfortable reviewing plans before an agent writes to their notes.
Researchers who need claims, contradictions, source freshness, and retrieval state recorded in plain files.
Codex, OpenCode, or Gemini users willing to install the portable skill links.

Who it’s NOT for

People seeking automatic PDF, EPUB, OCR, URL, or YouTube extraction: the README says several paths capture metadata only or require an external runner.
Native Windows users who need vault writes: the support section says writes require WSL and otherwise fail closed.
iCloud vault users unwilling to test recovery carefully: issue 157 reports false corruption findings and severe read slowdown on one active iCloud vault.
Teams expecting every documented skill reference to resolve from the vault: issue 170 identifies 18 broken relative links across 13 skill files at commit 1c1bc49.
Buyers who want a frictionless test baseline: our run ended with 5 failures, including four wrapper checks and one concurrent transaction conflict.

Setup reality

Our sandbox installed 35 packages in 12 seconds and used 37 MB. The build passed in 4 seconds. Pytest ran for 579 seconds and ended with 458 passed, 5 failed, and 5 skipped out of 463; pip-audit found 0 known vulnerabilities.

The portable core needs Python 3.11 or newer, Bash for setup, and Claude Code or another Agent Skills host. Obsidian is optional for viewing. Network-backed research, OCR, URL, YouTube, and model retrieval paths need separately configured tools and explicit egress consent.

Setup is plan-first: initialize or adopt a separate vault, review the JSON operation and its SHA-256, then apply that exact hash. Native Windows writes require WSL. Keep normal backups because the README explicitly says the transaction system is not a substitute for them.

Every write is bound to a reviewed hash

claude-obsidian treats an Obsidian vault as a small knowledge database made from ordinary files. Sources enter through an inbox, immutable copies are retained, and the agent creates linked notes plus ledgers for claims and provenance. Queries read the existing evidence instead of answering from an untracked chat context. The vault remains Markdown, JSON, and source files that still make sense without the agent or a proprietary storage service.

The unusual part is its write discipline. A mutating command first emits a JSON plan with an approval SHA-256. The user reviews it and supplies that exact hash on the apply run. Targets are checked again, writes are journaled, and conflicts stop rather than overwrite changed data. Parallel workers return drafts to one orchestrator instead of racing the vault. This is slower than letting an agent edit freely, but notes often outlive the session that produced them.

Fifteen skills cover much more than saving chat

The package includes 15 skills for ingestion, querying, linting, retrieval, research, Canvas views, Obsidian formatting, filing methods, and explicit saving. wiki-mode can route new notes using generic, LYT, PARA, or Zettelkasten conventions without moving existing material. BM25 retrieval works locally, while model-based reranking is optional and subject to an egress decision. Claude Code gets namespaced commands, and setup scripts can link skills for Codex, OpenCode, or Gemini.

Capability limits are stated with useful precision. Local files receive bounded content-addressed capture. Images get metadata and dimensions when available. PDF and EPUB files get metadata, hashes, and sizes, but no built-in semantic extraction. URL, YouTube, and OCR operations need an external runner. Anyone shopping for a universal drop-box that understands every format should stop there. This project is an evidence and mutation framework, not a bundled parser for all media.

What happened when we ran it

Our sandbox installed 35 Python packages in 12 seconds and used 37 MB on disk. The build succeeded in 4 seconds. Pytest then ran for 579 seconds and reported 458 passed, 5 failed, and 5 skipped out of 463. There were also 55 passing subtests. Pip-audit found 0 known vulnerabilities in the installed packages. We tested commit 1c1bc49 with Python 3.12, 3 CPUs, and 8 GB of RAM.

Four failures came from tests/test_setup_wrappers.py. Their log tails showed VAULT_SENTINEL_MISSING for /work/repo, with expected and actual exit codes disagreeing. The fifth, test_ten_concurrent_address_transactions_remain_consistent, recorded a TransactionConflict saying the vault mutation lock was held. The log does not prove why those conditions arose. It does prove that the complete suite at this commit did not pass in our fresh unprivileged container.

The repository contained 201 files and about 41,534 lines of source, with one CI workflow and a tests directory. It had no Dockerfile. The 37 MB installed size is modest, but the 573.23-second pytest summary makes full verification a real wait. Release 2.1.1 was published after the measured commit and describes additional migration safety; our numbers must not be read as a test of that later release artifact.

Windows writes require WSL, and iCloud needs caution

The portable core requires Python 3.11 or newer. Obsidian supplies the visual experience but is not required to read the Markdown. Native Windows supports inspection and dry runs, while vault writes require WSL and fail with UNSUPPORTED_PLATFORM otherwise. Approval hashes bind to the reviewing environment, so a Windows user must review and apply inside WSL rather than copy a hash from another context. Bash remains necessary for setup and shell tests.

Open issue 168 reports frequent 5-second SessionStart and Stop hook timeouts across 48 Windows sessions on one machine. The reporter observed the problem under real Claude Code startup load and offered possible causes, but did not isolate one. Issue 157 describes an iCloud-backed vault where recovery reported changing journals even when no process modified the runtime directory. The same report found normal behavior after Obsidian closed and iCloud settled. These are concrete reasons to trial a copied vault on the intended filesystem.

Broken relative references can leave agents without contracts

Issue 170 identifies 18 links across 13 skill files that point to shared contracts using paths relative to the skill file. The documented working directory is the user's vault, where those paths do not exist. The report says one agent continued without the contracts and produced an incorrect address plus an invented source ID format. That is exactly the kind of silent degradation the project's trust model tries to prevent.

The issue was filed against version 2.1.0 and commit 1c1bc49. Users should verify whether their installed release resolves those documents before relying on ingestion. A missing reference is more serious here than a broken help link because the contracts define provenance and transaction behavior. Release upgrades are separate from vault migration, so check both the product version and the copied or linked integration files.

Active maintenance has not removed the backup requirement

GitHub showed 13,338 stars, 136 combined issues and pull requests, and a last push on August 26, 2026. Release 2.1.1 arrived on August 25 with legacy migration hardening and clearer Windows guidance. Current work includes citation-link fixes and checkpoint behavior. The dated push and issue activity show active maintenance, while the open platform reports show a product still discovering difficult filesystem cases.

The README plainly says this is not a substitute for backups or source control. Take that literally. Initialize a separate test vault, inspect the first plan, exercise recovery, and only then adopt existing notes. The 458 passing tests show considerable engineering around safety; the 5 failures prevent a clean recommendation. For a careful Claude Code user, that trade can be acceptable. For a casual note taker, it is more machinery than the job needs.

Alternatives

ProjectWhat it isPick it when
Obsidian CopilotAn Obsidian plugin for chat, retrieval, and model-assisted work inside the app.pick this instead when an in-app assistant matters more than claude-obsidian's provenance and transaction machinery.
KhojA self-hostable personal AI that searches notes and other personal data sources.pick this instead when you want a running assistant service with several clients instead of a vault-centered skill workflow.
Smart ConnectionsAn Obsidian plugin for semantic connections and chat over vault notes.pick this instead when semantic discovery inside an existing vault is the main need.

What people are saying

  1. [github-trending] AgriciDaniel/claude-obsidian

Sources

  1. claude-obsidian README
  2. claude-obsidian repository metadata
  3. claude-obsidian v2.1.1 release
  4. Windows hook timeout report
  5. iCloud recovery report
  6. Broken skill reference links

More llm tools reviews

llm-wiki-compiler · claude-skills · Humanizer-zh · agent-beacon · MiMo-Code · pi-claude-bridge · the whole board →