Documentation
Plume is a Markdown reader. Everything below the first section is optional — the app works fully with no account at all.
Getting started
- Install it. Pick your system on the download page. The builds are not code-signed yet, so Windows and macOS warn on first run; the download page explains how to get past that for each system.
- Open a document. Double-click any
.mdfile, drag one onto the window, or pressCtrl+O. - Make it the default if you want every Markdown file to open here. Windows and macOS only let you choose that yourself — see Troubleshooting.
That is the whole app. No vault to create, no project to open, no account.
Reading documents
Plume opens one document per window. Opening a second file while Plume is running gives it its own window instantly, with no cold start.
- The sidebar has three tabs: Files (the folder around your document, or the whole vault if it is in one), Outline (every heading, with a reading time) and Vault. Toggle it with
Ctrl+\. - Reading settings (the
Aabutton) set the theme, text size, reading width, serif or sans, and whether a single newline is a line break. - Live reload: save the file in any editor and Plume updates in place, keeping your scroll position. Write in your editor, read here.
- Find in page with
Ctrl+F; back and forward between linked notes withAlt+←andAlt+→, or your mouse side buttons. - Print and Export as PDF from the
⋯menu. PDFs get a real outline built from your headings, and diagrams are redrawn in the light theme for paper.
Obsidian notes
Plume reads the Obsidian dialect, so you can open a vault note without opening the vault:
| What you write | What Plume does |
|---|---|
[[Note]] | Links to it anywhere in the vault, ignoring letter case |
[[Note#Heading|alias]] | Jumps to that heading, shown as the alias |
![[image.png|300]] | Embeds the image at that width |
![[Note#Section]] | Pulls that section in |
> [!tip] | A callout; [!warning]- is foldable |
==highlight== | Highlights it |
#tag, %%comment%%, ^block-id | Tags, hidden comments, block references |
| Front matter | Shown as Properties at the top |
GitHub-flavoured Markdown works too: tables, task lists, footnotes, definition lists, emoji shortcodes, syntax highlighting, KaTeX maths and Mermaid diagrams.
For a note inside a real Obsidian vault, ⋯ → Open in Obsidian hands it over.
Plume Vault
A vault is 100 MB of storage attached to an account. It is free — there is no card, no trial and no paid tier — and it is entirely optional.
To create one, either:
- In Plume, open the Vault tab in the sidebar, choose Create account, and enter an email and a password; or
- On the web at plume-md.com/app.html.
Either way it is the same vault. A password needs at least 10 characters with a number or a symbol in it.
Syncing documents
Syncing is per document and always deliberate. Nothing leaves your machine until you say so.
- Open the document you want.
- Go to the Vault tab. Under This document, check the name it will have in the vault and press Sync to vault.
- From then on that document is linked: the panel shows when it last synced, and Sync now sends your latest version up.
- On another computer, sign in, find it under In your vault and press Open. Plume asks where to save it, then opens it — and links it there too.
When the same document changes in two places
Every upload carries the revision this machine last saw. If the vault copy has moved on since then — because you edited it on your laptop — Plume refuses the upload rather than flattening that work, and asks what to keep:
- Save the vault copy beside mine downloads the other version next to your file as
Note (vault copy 2026-10-07-14-30).md, so you have both and can merge them yourself. - Replace the vault copy sends yours up and overwrites the other one. Only pick this when you know yours is the one you want.
The web vault
plume-md.com/app.html shows the same documents in a browser: read them, download them, drop new ones in, and delete them. Useful on a machine where Plume is not installed.
The graph
The Graph button in the Vault tab draws how your documents link to each other — wiki links, embeds and ordinary Markdown links all count; links inside code blocks do not.
- Drag a document to move it, scroll to zoom, drag the background to pan.
- Hover one to dim everything it is not connected to.
- Double-click to open it.
- Bigger circles have more links. Colours group documents by folder.
API tokens
A token lets something that is not a browser reach your vault: an AI assistant, an editor plugin, a script. Create one on the web vault under API tokens, give it a name you will recognise later, and copy it — it is shown once and never again, because only its hash is stored.
Used directly, the API is ordinary HTTP:
curl https://plume-md.com/api/vault/list \
-H "Authorization: Bearer plm_your_token"
curl -X PUT "https://plume-md.com/api/vault/file?path=notes/today.md" \
-H "Authorization: Bearer plm_your_token" \
--data-binary @today.md
Claude Code, Codex and MCP
Plume Vault ships an MCP server, so an AI assistant can keep project memory, decisions and notes somewhere that outlives the session — and that you can read in Plume on any of your machines afterwards.
Create a token, then add this to your MCP client's configuration:
{
"mcpServers": {
"plume-vault": {
"command": "node",
"args": ["/path/to/plume/mcp/index.js"],
"env": { "PLUME_TOKEN": "plm_your_token" }
}
}
}
Clone the repository and point
args at mcp/index.js inside it. There is nothing to install:
the server has no dependencies. Once it is published to npm you will be able to use
npx -y @plume-md/vault-mcp instead.
The assistant gets eight tools:
| Tool | Does |
|---|---|
list_notes | Lists what is in the vault, optionally under one folder |
read_note | Reads one document |
write_note | Creates or replaces one |
append_note | Adds to the end — safer than replacing, for a running log |
search_notes | Searches the text of every document and returns matching lines |
delete_note | Removes one |
vault_graph | Shows the links, including ones pointing at documents that do not exist yet |
vault_status | How much storage is used |
A shape that works well
Keep one folder per project and let the assistant write to it, exactly as you would with a notes repository:
projects/plume/decisions.md why things are the way they are
projects/plume/architecture.md how it fits together
projects/plume/log.md appended to as work happens
people/notes.md who said what, and when
Write the links in [[double brackets]] and the vault graph draws the shape of
what the assistant has remembered.
Keyboard
On macOS, use ⌘ in place of Ctrl and ⌥ in place of Alt.
| Action | Keys |
|---|---|
| Open file | Ctrl+O |
| New window | Ctrl+N |
| Close window | Ctrl+W |
| Find / next / previous | Ctrl+F, Enter, Shift+Enter |
| Back / forward | Alt+← / Alt+→ |
| Toggle sidebar | Ctrl+\ |
| Text size | Ctrl+= / Ctrl+- / Ctrl+0 |
| Reload | F5 |
| Open in editor | Ctrl+E |
Ctrl+P | |
| Full screen | F11 |
Privacy and safety
- Without an account, nothing leaves your computer. Plume has no telemetry and makes no network requests while reading a file.
- Markdown is untrusted input. Documents are rendered in a sandboxed window with a strict Content-Security-Policy, sanitised with DOMPurify. Scripts never run, external links open in your browser, and links to programs, apps and scripts are only ever revealed in your file manager — never launched. A document cannot make Plume load files from other computers on your network.
- Account tokens never reach the window that renders your documents. Every network call happens in Plume's main process, so even a flaw in the renderer could not read one.
- Passwords are hashed with scrypt and never stored or logged in the clear. Your session token is kept encrypted at rest using your system keychain.
- Vault documents sit in private storage that nobody else can list. They are not indexed, shared or sold.
- Changing your password signs out every other device.
Troubleshooting
Windows warns that it protected my PC
The build is not code-signed yet. Choose More info → Run anyway. Every build is produced in public by GitHub Actions from the tagged source, so you can check what went into it.
macOS will not open it
Plume is not notarized yet. Right-click it in Applications → Open → Open. On macOS 15 and later, try once, then go to System Settings → Privacy & Security and click Open Anyway. Or run xattr -cr /Applications/Plume.app.
Making Plume the default for .md
- Windows: right-click a Markdown file → Open with → Choose another app → Plume → Always. Or use
⋯ → Make Plume the default for .mdinside Plume. - macOS: select a
.mdfile in Finder → Get Info → Open with: Plume → Change All… - Linux: choose Plume under Open With in your file manager and set it as the default.
Linux: it will not start on Ubuntu 24.04
Use the .deb rather than the AppImage — it installs the AppArmor profile Electron apps need there.
"Your session expired"
Sessions last 14 days. Sign in again from the Vault tab. Changing your password ends every session on purpose.
Something is wrong
Open an issue on GitHub with your system and what you were doing. Plume is MIT-licensed and the source is all there.