← Blog

qmd for faster Obsidian search

I use Claude Code and Codex to search my Obsidian vault. The problem is those agents often load big markdown files into context and burn tokens. I keep a lot of notes in Obsidian, and the vault is now big enough that search started to feel slow. I wanted something fast, local, and still markdown-first.

I found qmd (Quick Markdown Search). It’s a CLI search engine for markdown files. It mixes classic full-text search (BM25), vector search, and LLM re-ranking, and it runs locally. That mix is exactly what I wanted: fast keyword search when I know the words, and semantic search when I don’t.

What I set up

I pointed qmd at my Obsidian vault and created a collection for it. Then I added a short context string so I can filter results later. After that I generated embeddings once, and now I just query.

Here’s the flow I’m using:

# install
bun install -g https://github.com/tobi/qmd

# add my Obsidian vault
qmd collection add ~/Obsidian/Vault --name obsidian
qmd context add qmd://obsidian "My Obsidian notes"

# build embeddings once
qmd embed

# fast keyword search
qmd search "work log okr"

# semantic search
qmd vsearch "what did i do on Jan first week?"

# best quality (hybrid + reranking)
qmd query "how I handle pagination in iOS app"

Why it feels faster

  • It’s a CLI, so I can keep my flow in the terminal.
  • Keyword search is instant for exact matches.
  • Semantic search gives me the file I meant even if I wrote different words.
  • Everything stays local, which is important for my notes.

How I use it with Obsidian

I still capture and edit in Obsidian. When I’m using Claude Code or Codex, I let the agent call qmd so it can search my vault fast without burning a bunch of context. For manual lookups, I jump to the terminal, run qmd, and then open the file in Obsidian.

If you have a big markdown vault, give qmd a try. It feels like a power-up for Obsidian.