Niels-Oliver Walkwoski708 downloadsVisualize and navigate a Luhmann-style Folgezettel note sequence in a sidebar panel.
An Obsidian plugin that draws Luhmann's Folgezettel sequence of your current note in a sidebar and lets you walk it — branch by branch.
[!note] Vibe-coded with Claude. This plugin was written with the help of Anthropic's Claude through an iterative, AI-assisted ("vibe coding") workflow — steered, reviewed, and tested by a human, but with the code itself largely generated by the model. It has been tested in real vaults, but comes with no warranty; use it at your own risk (see License).
In Niklas Luhmann's Zettelkasten, notes aren't filed by topic — they are chained. Each note follows on from another ("Folgezettel" = follow-up slip), and any note can branch into several continuations. This turns a pile of atomic notes into threads of thought: sequences you can read in order, that fork wherever an idea splits.
Obsidian's graph and backlinks show you connections, but not this reading order. Folgezettel Navigator does: for whatever note you're reading, it shows where it came from, where it leads, and where the thread branches — so you can follow a train of thought instead of hopping around a web.
The plugin reads continuation links from a frontmatter property (by default
folgezettel). In a note, list the note(s) that continue it:
---
folgezettel:
- "[[Second thought]]"
- "[[A parallel branch]]"
---
The property is written in reading order: it lists what comes next. The plugin derives the reverse direction ("what came before") automatically, so you only ever maintain links in one direction.
Open it from the ribbon (branch icon, Open Folgezettel navigator) or the command palette → Folgezettel Navigator: Open panel. It follows whatever note is active in the editor:
The marker on that rail tells you what kind of note each entry is:
| Marker | Meaning |
|---|---|
| Filled dot | A note in the sequence |
| Filled circle with a number | A note that branches, and how many branches it has |
| Small open circle | A note nothing continues — the end of the thread |
| Large open circle | The beginning of the structure — with a number in it when it branches |
The number lets you size up a fork without opening it, and the open circles keep a thread that genuinely ends distinct from one the panel merely cut short at its limit. The note you are on is marked by its highlighted row; its marker is drawn like any other.
A note that an index note links to keeps the marker its role calls for and draws it in your accent colour instead — the one thing on the rail that uses it — so you can see at a glance which notes along the thread your indexes already reach, without losing what kind of note each one is. An index note is any note whose frontmatter says so, by default:
---
typ: index
---
Only the links in the index note's text count (ordinary links and embeds, not other
properties). The value is matched regardless of case, and also as one entry of a list such
as typ: [index, overview]. Both the note type property and the index value can be changed
under Settings, and the colours update as you edit your index notes.
Hover such a marker (desktop) to see what your index calls the note: the name after the
| in its link, as in [[Note|this name]] — one per line when the note is linked more than
once under different names. A note linked by its bare name has nothing more to show, so its
marker shows no tooltip.
Switch to another note and the panel redraws around it. By default it shows up to five notes on each side (configurable — see Settings). If the pane is too short for what it draws, the whole panel scrolls as one; otherwise there is no scrollbar.
When the thread runs on past that limit, the panel still shows you where it goes: one extra entry appears above the sequence for the note the current branch was started from, and one below it for the note the branch ends at. Both are set apart by a gap, with no guide rail running to them, because they are not the next note along — they are the two ends of the branch you are in the middle of. The one above wears the junction's numbered circle when the note it names is a fork, and an open circle of that size when the thread simply starts there — the same open shape the note at the other end gets, so both ends of the thread look alike. Where the thread starts and forks right away, the circle is open and carries the number. Both are markers only — there is nothing to click. Either entry is left out when it is already on screen.
Under the sequence, after a small centred rule, the panel lists the notes that link to the
one you are on in their text — the ordinary links and embeds you write in prose, as
opposed to the folgezettel property that makes the sequence. The two never overlap: a note
that only continues the thread stays in the sequence above, and a note that mentions this one
in passing appears here, marked with Obsidian's backlinks icon. They are a set rather than a
thread, so there is no guide rail running through them.
These entries behave exactly like the ones above: click to open (Ctrl/Cmd-click for a new tab), hover for the page preview, right-click (or long-press on touch) for the file menu, and a note an index links to shows its icon in the accent colour. When nothing links to the note, the section — the rule with it — is simply not there.
Where the thread forks — a note with more than one continuation — that note's plain dot is replaced by a filled circle carrying the number of branches. The circle sits on the note whose Folgezettel property holds the links, because that is where the thread actually divides; the branches themselves are listed one row below, where they begin.
A junction can't display every strand at once, so it follows the first link in the
note's folgezettel property — the branch that continues the thread (see
Which strand counts as "the current branch").
To explore the alternatives:
folgezettel property
gives them, your current choice highlighted where it stands, styled like Obsidian's
search-result previews. That row drops its marker while the card is open, since it now
stands for a choice rather than for one note.A forking note keeps its circle wherever it appears — below the active note, above it, or when it is the active note. Entering a branch never costs you the fork you came from: expand the circle on any note above you to see its branches and jump to one.
Above the active note, the preview stands in for everything below the card — the rest of the sequence, your current note included — because all of it belongs to the branch you are looking away from. And picking an option there opens that note rather than re-drawing the sequence: everything between a fork and the note you are on is the path that got you there, so the only way to switch to a sibling branch is to go to it.
Your branch choices — and any cards you left open — are remembered for as long as the note stays open in a tab, so you can switch to another tab and come back to the sequence as you left it. Close the note, or open another note in its tab, and they are let go: the next time, the panel is back to following first links.
Six commands move the editor along the sequence, so you can follow a thread with the keyboard whether or not the panel is open. Find them in the command palette under Folgezettel Navigator, or bind hotkeys to them under Settings → Hotkeys. Each opens the note in the current tab.
| Command | Goes to |
|---|---|
| Open previous note | The note that leads into this one |
| Open following note | The note this one continues into |
| Open parent note | The note this branch was started from |
| Open leaf note | The end of the current branch |
| Open next junction note | The next fork further down the branch |
| Open previous junction note | The nearest fork further up |
When a jump has several candidates — a note with more than one continuation, or more than one note leading into it — a picker opens listing them in the order the property declares, and you choose. When there is nowhere to go, a notice says so.
For these commands the first link in a note's folgezettel property continues the
branch; every later link starts a new one. So Open leaf note runs down first links to
the end of the thread, and Open next junction note finds the next fork along it.
That is also what makes parent different from previous junction. Walking upward, previous junction stops at the nearest fork of any kind. Parent keeps going past forks the branch merely ran straight through, and stops at the one this branch actually split off from — a fork you left by a link that wasn't its first. If the thread never split off anything, parent takes you to the beginning of the structure: the note that nothing links to.
The panel uses the same rule, so a jump and the drawn sequence agree on where the branch runs — unless you have picked a different option in a junction card, which steers the panel for as long as that note stays open.
Two more commands write the sequence instead of walking it. Both act on the note you are
on and add to the end of its folgezettel property — so the new note becomes a
further branch off it, and the current branch (the first link) stays where it is.
| Command | Does |
|---|---|
| Create following note | Asks for a name, creates the note, links it, and opens it |
| Link following note | Opens a picker of the vault's notes and links the one you choose |
Create following note opens a small dialog for the name — Enter or Create confirms, Escape cancels. A name that is empty, contains characters Obsidian does not allow in a file name, or is already taken keeps the dialog open and says why, so nothing you typed is lost. Where the note is created is up to the New note location setting below; a folder that does not exist yet is created.
Link following note lists every markdown note except the one you are on and the ones this note already links to, so the list holds only notes that would actually add something. The link is written as a wikilink, shortened as far as your link settings allow — the same form Obsidian's own property editor writes.
Like the jump commands, both disappear from the palette when no note is open.
Both are also on the panel's right-click menu, and there they act on the note you right-clicked rather than the note you are in — so you can hang a new note off any entry in the sequence without navigating to it first.
| Action | Result |
|---|---|
| Click a note title | Opens the note; the panel redraws around it |
| Right-click a note title (long press on mobile) | That note's menu: open it elsewhere, create or link a following note, rename, move, bookmark, delete, reveal |
| Hover a title (desktop) | Obsidian's native page preview, following your Page preview setting — beside the sidebar, so it does not cover the sequence |
| Hover the marker of an indexed note (desktop) | The names your index notes give it |
| Click a junction's numbered circle | Expand / collapse the list of its branches, on the row below |
| Hover a branch option (desktop) | Preview that branch, without committing to it |
| Click a branch option below the active note | Take that branch (does not open the note) |
| Click a branch option above the active note | Opens that note |
| Navigation command (palette / hotkey) | Jumps the current tab along the sequence |
On a junction entry the two targets do different things: clicking the title opens the note, while clicking the numbered circle opens the branch list.
The plugin works on Obsidian Mobile. Everything is tap-driven: tap a title to open it, tap a junction's numbered circle to expand it, tap an option to take that branch. Press and hold a note for its file menu, the same one a right-click gives on the desktop — the press gives way to a scroll, so flicking through a long sequence still scrolls the panel. The hover-only extras (branch preview, page preview, and the names an index gives a note) are desktop affordances and are simply absent on touch — the rest of the workflow is identical.
folgezettel property as your thinking
progresses — each note points at the note(s) it leads into.folgezettel). Change it to match your own naming convention.typ: index), whose
linked notes are drawn in the accent colour. Clear either field to go back to its default.All but New note location apply immediately to any open panel.
From Obsidian (once listed): Settings → Community plugins → Browse → search "Folgezettel Navigator" → Install → Enable.
Manually: download main.js, manifest.json and styles.css from a release, put
them in <vault>/.obsidian/plugins/folgezettel-navigator/, then enable the plugin under
Settings → Community plugins. From 1.3.1 on, the release files are built and attested on
GitHub, so you can check that they were built from this repository with
gh attestation verify main.js --repo Cutuchiqueno/obsidian-folgezettel-navigator (and the
same for the other two).
npm install # install dependencies
npm run dev # watch + rebuild main.js on change
npm run build # type-check and produce a production bundle
npm run lint # check against Obsidian's plugin guidelines (eslint-plugin-obsidianmd)
Copyright © 2026 Niels-Oliver Walkowski.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but without any warranty. See the LICENSE file for the full text.