Markdown viewer and editor · macOS · Local
Work with your agents. Together.
A Markdown viewer and editor, built around agent notebooks. If you run agents, you already read their notebooks to know what is happening. This one keeps the files you care about in one list, wherever they live, and always rendered… so you read them like documents and change them while the agent is still working.
- Send context, not just text
- One list, any repository
- Saves only when you do




MIT. Free. 0.1.0 is a working prototype.
Why this exists
An IDE is for the engineer. This one is for the PRODUCT BUILDER.
I run several coding agents. Each one keeps a notebook, and those notebooks are the only honest record of what is happening.
For months I read them the only way I could… open the IDE, pick one repository, find the file in a tree, and there it was, raw markup in a source pane. Then the next agent, another repo, another window. And this one, it never got easier.
What I wanted was small. The files I care about, wherever they live, in one list, RENDERED, so I read them like documents and change them while the agent is still working.
Yes, I still flip to the source sometimes. I just never want to start there.
One repository. Raw markup. Everything else competing for the same screen.
STATUS · prod_lead
Where we are: P ✅ · D1 ✅
Blocked on: REQ‑712
☐ verify sanitisation
The notebooks you chose, from any repository, read as documents.
The whole point
Send context, not just text.
Highlight a passage, say what you want, and MDWatch assembles the working directory, file path, line numbers and a unified diff. It lands on your clipboard, and you paste it wherever it belongs.
REQ-712 · Render Mermaid diagrams inline
User , Diagrams in my notes render as pictures, not code blocks.
Tech , Mermaid via the editor adapter (REQ-708).
MDWatch stops at the clipboard. The paste is yours.
Containers
One list. Any repository.
A container holds files, not a folder. Pull a spec from one repository and an
agent's notebook from another into the same list. Each row shows where it came from, so
twenty files called STATUS.md read as twenty different things.
Saving
Your file changes when you say so.
Nothing is written until you press ⌘S. No timer, no save on blur. And when an agent writes to a file you have open, it reloads and the sidebar marks what moved.
The message
See exactly what you're sending.
The full message is on screen before you copy it. Every field is there because leaving it out makes an agent guess.
[MDWatch] REQUIREMENTS.md **Working directory:** `/Users/you/dev/mdwatch` **File:** `REQUIREMENTS.md` (absolute: `/Users/you/dev/mdwatch/REQUIREMENTS.md`) **Where:** 3 added, 1 removed · lines 92–96 **Saved:** 2026-07-26 16:44:02 ````diff @@ -92,4 +92,6 @@ | REQ-711 | Replace the editor engine | P0 | TODO | -| REQ-712 | *(free)* | — | — | +| REQ-712 | Render Mermaid diagrams inline | P2 | DRAFT | ```` **Instruction:** Implement REQ-712 behind the editor adapter. Write the test first.
Local by construction
Nothing leaves your Mac.
MDWatch has no way to send anything anywhere. No key, no endpoint, no account to attach one to.
- No network calls. Every asset loads from inside the app bundle.
- No account, no API key. It holds no secrets because it has nothing to authenticate to.
- Plain Markdown on disk. Delete MDWatch and every file is exactly where it was.
The agent you paste into is a separate program with its own network access. The clipboard is the entire connection, which is why you can read every byte of it first.
What it isn't.
Not a knowledge base
No graph, no backlinks, no tags, no sync, no mobile.
Not an IDE
It never wraps, embeds or replaces your terminal.
Not an agent client
It does not discover agents or talk to them. It writes to your clipboard.
A working prototype at 0.1.0. Everything above runs today… the rest is written down and coming.
Next
Direct send, and agent discovery.
Sending is copy and paste today, and that is deliberate. It works with any CLI agent and needs no setup. Next: sending straight to a running session, and discovering the agents already on your machine so you can pick one by name.
Planned integration targets. Copy and paste already works with all three, and with anything else that reads a terminal.
The more of the building agents take, the more THE WORK that stays is reading what they wrote and deciding what happens next. That reading needs a surface. This is the one I built for it.
Install
Drag it in, clear the flag, open it.
MDWatch is unsigned, so macOS quarantines the download and blocks the first launch. One command clears it… better said now than after you decide the app is broken.
MDWatch 0.1.0
macOS 13 or later, Apple Silicon. Under 5 MB. MIT licensed.
Download the .dmg ↗Or build it from source, which is two commands.
- Drag MDWatch to your Applications folder.
- Run this once in Terminal:
It removes the attribute macOS adds to downloaded files. It grants the app nothing.
xattr -dr com.apple.quarantine /Applications/MDWatch.app
- Open it. MDWatch launches to an empty container list.
First five minutes
| Make a container | Right-click the sidebar, or ⌘N |
| Add files | Drag them in from Finder, or + Add File |
| Read a file | Click it. Markdown opens rendered, ready to edit |
| See the source | MD in the toolbar |
| Save | ⌘S. Nothing else writes to disk |
| Send to an agent | Select text, click Send to Agent, or ⇧⌘A |
| Settings | ⌘, for theme, autosave and text width |
- Operating system
- macOS 13 Ventura or later
- Processor
- Apple Silicon, M1 or newer
- Size
- Under 5 MB. No installer, no background service.