Yarrow 3.1 — out now

Notes that branch, evolve, and connect.

A local-first notebook built around the way thinking actually works. Your notes are plain markdown. Every save is a checkpoint. Every direction you explore stays in an archive, not the trash. 3.1 brings a calmer motion pass, sharper in-editor authoring, and a file-backed glossary you edit in Settings.

Under 25 MB
Lightweight · runs anywhere
100%
Yours · stays on your machine
6 themes
Day, night, and four favourites
0 trackers
No account · no telemetry
Released 2026-05-13

Calmer motion, sharper authoring, and a standalone glossary

3.1 sits on the 3.0 engine and adds three things you feel the moment you open it: a unified motion vocabulary that quiets every transition, a new in-editor authoring surface for picking links, transforming selections, and inserting blocks, and a file-backed glossary you author from one place in Settings.

i. A calm motion pass

Animation, finally spoken the same way.

Every transition routes through a single anime.js v4 motion vocabulary: modal entrances, command-palette open, toast slide-in, note-list filter cascade, fork-moment timeline, focus-mode rail collapse, theme-swap ink wash, auto-checkpoint pulse, connection-graph radial spawn. Same easing, same durations, same restraint everywhere. Honours prefers-reduced-motion end-to-end.

anime.js v4 · 9 motions · reduced-motion safe
ii. The editor, sharper at hand

In-editor authoring, in one place.

Type [[ for an inline wikilink picker with a Create-on-the-fly fallback. Drag over text and a selection toolbar appears with Bold, Italic, Code, wikilink, highlight, and the ?? marker. Hit / at the start of a line and a slash-command panel opens — formatting blocks, linking helpers, app-level actions, and persona-specific commands at the top.

Picker · Toolbar · Slash panel
iii. Glossary, decoupled from notes

One file, edited in Settings.

The glossary is now a standalone .yarrow/glossary.json file authored from a new Settings → Glossary pane. Each term + definition is underlined wherever it appears in any note, with the definition surfaced on hover. Tracked in git, so your defined vocabulary travels with the workspace. The frontmatter-flag mechanism from 3.0 is gone — one place to add, one place to edit.

.yarrow/glossary.json · live highlighter

Personas v2, unified

Mode and Persona collapse into a single picker with seven choices — Basic, Default, Writer, Researcher, Developer, Clinician, Cooking. Each persona is a lazy-loaded manifest under src/plugins/<id>/, so adding a new one means adding a manifest, not editing a registry.

First-run wizard

"How do you want Yarrow to feel?" — three tiles: Minimal, Full Yarrow, Tailored. Tailored opens the persona grid; the other two pick implicitly. Settings → Personas matches the same search-driven palette with arrow-key navigation and a pinned Recently used row.

Persona Actions popover

Click the persona pill in the status bar and an Obsidian-style command list pops up, filtered to the active persona. Search box, arrow-key navigation, Enter to pick, Esc to dismiss. Universal "Switch persona…" and "Open command palette…" rows always at the bottom.

Check for updates

Settings → About has a manual Check for updates button that asks GitHub Releases for the latest tag and tells you whether you're current, with a link to the release notes when a newer version is out. No auto-check, no telemetry, no nag bar.

A researcher in a library at evening — laptop open, books stacked beside her, mid-thought over an open text.
Built for the long haul

For work that takes weeks, not minutes.

Yarrow is at home with theses, dissertations, multi-month research projects, and the slow accumulation of notes that sit underneath every good piece of writing. Branch a draft into three different arguments. Keep the questions you haven't answered. Trace a citation back to the source — and forward to every note that built on it.

Built for thinking

Twelve mechanics that make Yarrow itself.

Plain markdown on disk. Every save is a checkpoint. Every direction is a path. Yarrow is git underneath and there's no git anywhere on the surface.

Scenarios, not branches

Try a different take any time you want. The original waits exactly where it was. Switch between scenarios or fold one into another — nothing is ever lost.

Auto-checkpointing

Every pause becomes a tiny snapshot. The history slider lets you scroll back to any version. No commits, no commit messages — it just works.

The Connections graph

See your notes as a living web — every connection visible, every cluster meaningful. Smooth and responsive even on workspaces with thousands of notes. Connections can be labelled (supports, challenges, came-from, open-question), each with its own colour and stroke.

Wikilinks & backlinks

Type a couple of letters and Yarrow surfaces the right notes — link any two with a click. Backlinks appear automatically on the other side, so the connection is always visible from both ends.

Open questions

Drop a quick "??" anywhere as you write to flag something you're still working out. Yarrow gathers every open question in the side panel so you can come back to them when you're ready.

Sync, optionally

Yarrow runs entirely on your machine. If you want a backup or to keep two computers in step, connect to a Yarrow Connect server — your notes are still yours, but a second copy lives where you choose.

Encryption

Sensitive workspaces can be locked with a passphrase. Encryption happens entirely on your computer, so a synced copy is unreadable to anyone but you.

Command palette

Press ⌘K and type — Yarrow finds notes, paths, kits, settings, anything. The fastest way to get anywhere in the app, without ever taking your hands off the keyboard.

Designed to be accessible

A new Visualizations panel with patterns alongside colour, an alternative table view of the connections graph, a soft reading-guide band that follows your cursor, and screen-reader announcements when you switch scenarios or pin a checkpoint.

Reading-guide band

A soft horizontal band that follows the cursor row, anchoring the reader's eye on the line being typed. Inert if the preference is off; honours reduced-motion.

Tags with meaning

Some tags have shape — sensitive notes, drafts, decisions, follow-ups, evergreens, open questions, archived. Each gets its own visual treatment so you can read your workspace at a glance.

Feels native on every platform

On macOS the sidebar picks up real translucent vibrancy and chrome adopts Apple's system font. On GNOME the layout adopts Adwaita Sans. Yarrow tries to look at home wherever it lands.

2.1 + 2.2 carries forward

The workflows that came before — still here.

Modes & Personas, the engine rewrite, and the design system all sit on top of the surface 2.1 and 2.2 introduced. None of it is on by default — you opt in at the moment you want it.

75 kits · 9 categories

The kit library

Hand-picked starting shapes — journal, research, clinical, work, learning, writing, everyday, decision, spiritual. Each kit is a regular template you can edit or override.

Papers · citations · imports

Research workflow

Drop a citation file from Zotero or BibDesk and Yarrow turns each entry into a paper-card. Type @ and start a name to cite a paper anywhere — the link resolves itself.

Privacy-first · stays on your machine

Clinical surface

SOAP, BIRP, DAP, supervision-prep, safety-plan, treatment-plan. Sensitive notes are quietly redacted from previews and excluded from search. Sensitive content scanning runs entirely on your computer.

Opt-in · off by default

Cooking workflow

Five baking kits, a recipe URL clipper that picks up structured recipes, inline timers, a cook-mode reading view (big text, screen stays awake), and a smart shopping-list scanner.

Principles

Six things we will not change.

Constraints carry the product as much as features do.

i.

Your notes are just files.

Each note is a plain text file on your disk in a folder you pick. You can open them in any other app, back them up, copy them anywhere. Yarrow doesn't lock anything up.

ii.

Local-first.

Yarrow runs entirely on your machine. No account, no sign-up, no internet required. Sync is optional and you choose your server.

iii.

Nothing is ever lost.

Every save is a checkpoint. Every direction is a path. Trash is undeleteable for 30 days, then garbage-collected.

iv.

Version history that hides itself.

Yarrow remembers every version of every note, but you'll never see a commit, a branch, or a merge marker. Just paths, checkpoints, and the option to scroll back to anything.

v.

No telemetry.

Zero phone-home. Zero analytics. Zero pixels. You'll never wonder what's leaking.

vi.

Free, MIT.

Source code lives on GitHub. Read it, fork it, ship your own. The desktop app and the docs site both ship under the MIT licence.

Get Yarrow 3.1

Free to read, free to fork.

Yarrow 3.1 ships as a small, native app on every platform — under 25 MB, with no extra installers or sign-up. Source code is available on GitHub under the MIT licence.