← All posts
· 6 min read

Claude Code + Obsidian as a Second Brain: Where Voice Notes Fit

Obsidian stores, Claude Code reasons, but your vault only holds what you typed at a desk. Here's the capture layer that gets your walks and commutes in.

If you follow people who build with AI agents, you’ve seen this setup everywhere this year: open Claude Code inside an Obsidian vault and treat the whole thing as a second brain. Obsidian is the storage layer, a folder of plain Markdown files. Claude is the reasoning layer that reads across them, finds connections and drafts things. A CLAUDE.md file at the top of the vault explains how it’s organized. Careful users keep the vault in git and add one firm rule: don’t modify my original notes.

It’s a good setup. And it has a quiet gap.

The gap: your vault only knows what you typed

An agent can only reason over what’s in the folder. And what’s in most vaults is what you wrote while sitting at a desk with a keyboard: meeting notes, reading notes, project docs.

The ideas that matter most often show up somewhere else. On a walk. In the car. In the shower, or ten minutes after a meeting when you finally see what the real problem was. Those thoughts rarely make it into the vault, because getting them there means stopping, unlocking your phone, opening Obsidian, finding the right folder and typing with your thumbs. By the time you’re back at your desk, most of them have faded.

So the agent gets a well-organized record of your desk hours, and almost nothing from the rest of your day. (If your vault already feels more like an archive than a thinking tool, Why your second brain became a notes graveyard looks at why that happens.)

A three-layer setup

The fix is to add one layer underneath the two you already have.

1. Capture layer: speak it. When an idea shows up, you say it into SpeakPen on your phone or in the browser. It’s transcribed (the language is detected automatically) and saved as a note with a title, a summary and the full transcript, in the language you spoke. No folder to pick, no formatting to think about.

2. Storage layer: your Obsidian vault. The SpeakPen Sync community plugin brings those notes into your vault as plain Markdown files in a folder. Sync goes one way only, from SpeakPen into the vault. It fetches only notes that changed since the last sync, and notes you’ve edited yourself in the vault aren’t overwritten. From the vault’s point of view, voice notes are just more Markdown.

3. Reasoning layer: Claude Code. Claude Code reads the vault as it always has, except now the folder also holds what you said on the walk home.

There’s a second option for layer 3. If you’d rather not sync at all, or you want Claude Code to look at SpeakPen directly, connect it to SpeakPen’s MCP server. Claude Code then gets three tools: search to find notes by topic, list_recent_notes to pull notes from a time range, and fetch to read one in full. You can use both: the vault for everything you’ve written, the MCP connection for asking about recent voice notes from any project folder.

Tell the agent what voice notes are

Voice notes are different from the rest of your vault, and the agent should know that. They’re raw spoken capture: unpolished, sometimes rambling, sometimes contradicting a note from last week. That’s exactly what makes them valuable as source material, and also why they shouldn’t be edited into something else.

Add a section like this to the CLAUDE.md at the root of your vault. Adjust the folder names to match yours; check the plugin settings to see where your SpeakPen notes land.

## Voice notes (SpeakPen)

- Voice notes live in `SpeakPen/`. They sync in automatically from my
  phone; I don't edit them by hand.
- Each one is raw spoken capture: a title, a short summary and the
  full transcript. Expect filler words, half-sentences and repetition.
  The transcript is my actual wording; the summary is a shortcut.
- Treat everything in `SpeakPen/` as read-only source material.
  Never edit, rename, move or delete these files.
- Write anything you produce (syntheses, plans, drafts) to `Agent/`,
  and link back to the voice notes you used.
- When an idea appears in several voice notes, say so. Repetition
  across days usually means I care about it.
- Quote my own words when summarizing my position. Don't smooth them
  into generic phrasing.

The separate output folder does two things. Your originals stay exactly as you captured them, and if the vault is in git, everything the agent wrote shows up as new files in one place, easy to review or throw away.

Three things to ask

You don’t need to write code to use Claude Code this way. It’s a chat in a terminal that can read and write files in a folder, and these are plain-language requests. Start Claude Code in your vault and try:

A weekly synthesis

Read my voice notes from the last 7 days in SpeakPen/.
Group them into themes and list which notes each theme comes from.
Which ideas came up more than once? What questions did I ask myself
but not answer? Write the result to Agent/weekly/ with today's date,
linking each point to its source note.

From voice notes to a project plan

I've been talking through [project] in voice notes for a few weeks.
Find every voice note about it, plus any related notes elsewhere in
the vault. Draft a project plan in Agent/plans/: the goal in my own
words, the decisions I've already made, open questions, and a first
list of next steps. Mark anything where my notes disagree.

Find what you already thought

Take this week's voice note about [topic]. Search the whole vault for
older notes that connect to it: the same idea in different words,
earlier attempts, things that contradict it. List them with one
line on how each relates. Don't change any files.

That last one is where a second brain starts paying off: an idea from Tuesday’s walk turns out to be the missing half of a reading note from last spring. Neither note was useful alone.

For more prompts in this style, see From voice note to finished draft.

“Don’t touch my originals” is built in on the MCP side

The most common worry about pointing an agent at your notes is that it will rewrite them. In a vault, you handle that with instructions in CLAUDE.md and with git as a safety net. Both work, but both depend on the agent following the rule, and on you noticing if it didn’t.

SpeakPen’s MCP server works differently: it’s read-only by design. Claude Code can search and read your SpeakPen notes, but it can’t create, change or delete them, and it never receives your audio. There’s no instruction to forget, because the write tools don’t exist. You can disconnect any assistant from your SpeakPen settings at any time.

That makes the MCP route a natural fit if “never modify the originals” is your top rule. The voice notes stay intact in SpeakPen; whatever Claude Code produces goes into your own folders, where you decide what to keep.

Setting it up

  • Vault route: install the SpeakPen Sync plugin in Obsidian. Steps are on the Connect page, and Voice to Obsidian shows what the notes look like once they land.
  • MCP route: paste this into Claude Code and it will configure itself:
Connect to my SpeakPen notes: read https://speakpen.app/connect and set it up.

Full instructions are under Claude Code on the Connect page.

Start today

Pick one route, and add the voice notes section to your CLAUDE.md. Then, for the rest of the week, say every idea that comes to you away from your desk into SpeakPen instead of trying to remember it. On Friday, run the weekly synthesis and see what your vault knows that it didn’t know on Monday.

Keep reading