Edit the plan your coding agent wrote, in the rendered view.

Marksidian keeps the document rendered while you type; only the line under the cursor shows its Markdown. It opens the .md file where it already is, in the repo your agent is working in or in a folder of notes, and saves back the same plain text. Uninstall it and your files are exactly where you left them.

One-time · 14-day refund · Apple Silicon and Intel · currently 0.3.16

plan.md — Live Preview
Marksidian in Live Preview showing an agent-written migration plan: a rendered task table, a checklist, a bash code block, and a line with the cursor on it showing raw ** bold markers.
The cursor is on the bold line, so that line shows its ** markers. The table, checklist and code block above it stay rendered.

Made for Markdown that other things write

  1. Claude Code ends its turn by writing plan.md. There is a status table in it, and one cell is wrong.
  2. You open the file here, fix the cell in the rendered table, and save. It is still plain Markdown, and the diff is that one line.
  3. The agent reads your version on its next turn. When it writes the file again, the window reloads; if you have unsaved edits it asks first.

An AGENTS.md or a spec works the same way. The file stays where it is.

A native sheet over the plan reading: plan.md changed on disk. Reloading will replace the unsaved changes in this window. Two buttons: Reload from Disk and Keep My Changes.
Claude Code wrote plan.md while this window had unsaved edits. Nothing is overwritten until you pick.

Three ways to look at the same file

Switch modes from the View menu or by clicking the mode name in the status bar; ⇧⌘E goes straight to Reading.

This is the bottom of the same plan.md. The equation and the diagram are rendered in the document, and the cursor is on the plain line under them. Click the diagram and the cursor moves into its mermaid fence.

plan.md — Live Preview
Live Preview scrolled to the Rollout math and Cutover flow headings of plan.md. A sentence carries an inline n over k fraction, below it a display equation reads sessions per shard equals total sessions over shards, and under Cutover flow a five-node Mermaid chart runs Freeze writes, Dual-write, Verify counts, then Flip reads on ok or Roll back on mismatch. The cursor sits on the plain line below the diagram.

Features

Type into table cells

Click a cell and type. Enter or Tab commits it: that one cell is rewritten in the source and the other rows are untouched. Escape throws the edit away. Tab moves to the next cell, adding a row at the end; the buttons underneath are + Row, + Column, − Last Row, − Last Column, plus column alignment.

The rendered task table from plan.md. The Status cell on the Rotate refresh tokens row is open for editing, outlined, and reads rolling out. Under the table sit buttons labelled plus Row, plus Column, minus Last Row, minus Last Column, and three column-alignment buttons.

⌥⇧F tidies the whole file

One shortcut normalizes the document: it makes bullet markers consistent, renumbers ordered lists, aligns table pipes, puts one blank line between blocks (and no more than one), and strips trailing spaces. Fenced code and math are left alone, and ⌘Z puts the file back.

Before
Source view of a messy Markdown file with mixed list markers, a cramped table and a misnumbered list.
After ⌥⇧F
The same file after auto-format: consistent list markers, an aligned table and a correctly numbered list.

KaTeX and Mermaid, in the document

LaTeX between dollar signs renders with KaTeX, inline or as a block, and a mermaid fence turns into a diagram. Click either one and the cursor lands in the source that produced it.

Under Rollout math, an inline n over k inside a sentence and a display equation reading sessions per shard equals total sessions over shards. Under Cutover flow, a Mermaid chart running Freeze writes, Dual-write, Verify counts, then Flip reads on ok or Roll back on mismatch.

700+ community themes, sanitized

Browse and install themes from Settings (⌘,), each with a preview screenshot; installed ones work offline, and the built-in look follows the macOS appearance setting. About 5% of published themes fetch fonts or images from a remote server, so theme CSS is stripped of every @import and remote url() first.

The Settings window on the Themes tab, showing a grid of community themes with preview screenshots, author names, light and dark tags, and Install & Use buttons.

The rest of it

Command palette
⇧⌘P lists every command with its shortcut, and jumps to any heading.
Fold sections
⌥⌘[ and ⌥⌘], plus Fold All and Unfold All. The document is not changed.
Find and replace
⌘F in the editor, with match highlighting and an "n of m" count. Reading mode gets its own find bar.
Print and export
⌘P prints the Reading rendering; File > Export writes a PDF or a standalone HTML file.
Session restore
Reopens your files with cursor, scroll position, mode and zoom as you left them.
Line numbers
Optional in all three modes, and they show the real source line even where a table or diagram is rendered.
Outline
A collapsible heading tree that tracks the section you are in. Drag its edge to resize; the width persists.
Spell check
The system spell checker while you type, with native right-click suggestions. View > Check Spelling While Typing.
Paste rich text
Copy from a browser or a doc and it arrives as Markdown, re-prefixed inside lists and quotes.
Images
Drop or paste one and it is saved beside the document with the link inserted. ![alt|300] sets a width.
The usual shortcuts
⌘B bold, ⌘I italic, ⌘K link, ⇧⌘H highlight, ⌥⌘1…6 heading level, ⌘D multi-cursor.
Callouts and footnotes
> [!NOTE] blocks render as callouts; footnotes link in both directions.
Front matter
YAML front matter folds into a Properties bar and unfolds when you want to edit it.
Code blocks
The same token colors in all three modes, a language badge on every fence, fence-language completion, and a copy button.
Opens .md from Finder
The app registers as a handler for .md, so it is in Finder's Open With menu and can be set as the default there.

One-time: $19 for one Mac, $39 for three

Single

$19
  • 1 Mac
Buy Single — $19

Three Macs

$39
  • 3 Macs: desk, laptop, and one more
Buy Three Macs — $39

One payment through Stripe; the receipt is the license, and there is no activation server. Every update through 1.x is included, and the app is at 0.3.16 today. For a refund within 14 days, reply to the receipt.

The build is public, on the releases page and in Homebrew, and the app never asks for a key. Use it first. If you keep using it, pay for it; that is what funds the next release.

If you're deciding between this and something else

Typora costs $14.99 for three devices, runs on Windows and Linux as well as macOS, and uses its own theme format. If you want one editor across all three, buy Typora. Marksidian is macOS only, and it is built around the source staying in view: the cursor line shows its Markdown, and a table edit changes one cell in the file.

Vault-style note apps are free, and they are a whole system around a folder: search, backlinks, plugins, a graph. Marksidian reads the same theme format and opens the same files without the rest of it.

The viewers you already have — the VS Code preview, Quick Look — render Markdown well, but you cannot type into what they render.

FAQ

Can I try it before I buy?

Yes. The build is public: the DMG is on the GitHub releases page, and brew install --cask dciobanu/tap/marksidian installs the same file. Use it on real work and buy the license when you decide to keep it. If you buy and change your mind within 14 days, reply to your Stripe receipt and you get a refund.

Will it open my existing notes?

Yes. Marksidian opens ordinary .md files from anywhere on your Mac, including files inside a notes folder or a vault another app manages. It does not import, index or move anything, and it writes back the same plain text.

Does it work with Claude Code and other coding agents?

Yes. Agents write plans, specs and CLAUDE.md as plain Markdown on disk, and Marksidian edits that file in place, so the agent reads your version on its next turn. If the agent writes while you have unsaved edits, the window asks before it reloads.

Does it talk to the internet?

In two cases. The theme gallery fetches the listing, the preview screenshots and, when you install one, its theme.css and manifest.json from GitHub, and a remote image you put in a document loads over https the way it would in any renderer. Theme CSS is sanitized when it is downloaded and again every time it is read, so an installed theme cannot pull fonts or images from anywhere. There is nothing to sign in to and nothing that reports back.

What happens after I pay?

Stripe sends you to a download page with the Apple Silicon and Intel builds. Your Stripe receipt is your proof of purchase, and there is nothing to enter in the app. Every update through 1.x is included.

What are the system requirements, and why does the first launch fail?

A Mac with Apple Silicon or Intel, on macOS 11 or later. The download is about 100 MB. The app is not notarized yet, so Gatekeeper blocks the first launch: open System Settings, go to Privacy & Security and click Open Anyway, or run xattr -cr /Applications/Marksidian.app in Terminal. Notarization is on the list.

From the maker

I built this because Claude Code kept leaving me plan.md files with a status table in them, and every editor I had either showed me the pipes or hid the source completely. Marksidian is the middle: the table stays a table, the cell I change is the only thing that changes in the file, and the agent picks up my version on its next turn. It is Electron, CodeMirror 6 and markdown-it. There are 900 Playwright tests, and the version history is on the releases page. If something is wrong, reply to your receipt; I read those.

— Dorin Ciobanu