
OpenMarkdown
A markdown editor you and your agent co-edit
266 followers
A markdown editor you and your agent co-edit
266 followers
A fast, light markdown editor that opens any `.md` file instantly. Your agent reads, writes, and co-edits the same file you're in — through a CLI, an agent plugin, and MCP. Local-first: no account, no telemetry, your files never leave your disk.











Now this is pretty cool. Do you have plans for version control?
OpenMarkdown
@austinbuhl Thanks 😊 Since every file is just plain .md on your disk, it already works with whatever you use — git, Time Machine, your sync folder. Built-in version history inside the app isn't there yet; git has covered it for me so far. Curious what you'd want most: full in-app history, or something lighter like "undo the agent's last edit"? Would love your take~
@xueyanzhang I think a simple "Undo the agent's last edit," would be awesome.
Glad to know there's Git support.
OpenMarkdown
@austinbuhl Love it — that's the exact one I keep circling back to myself. It's the honest sweet spot: pop the agent's last edit without unwinding the stuff the I just typed, since we're both writing into the same buffer.
Not shipped yet, so I won't oversell it — but you've bumped it up my list, and it's the lighter cut I'm most tempted by.
And yeah — they're just plain .md files, so git and Time Machine treat them like anything else; nothing special from our side. Appreciate you weighing in~
There are countless of markdown editors out there, and I failed to understand what seperates yours. You should pivot towards that; why would someone use this over Obsidian or similar tools for example. Good luck!
OpenMarkdown
@vitohacker Totally fair — it's a crowded space, and honestly I'm a heavy Obsidian user myself (it's my knowledge base; VS Code is my IDE; Notes (MacOS app) was my scratchpad). OpenMarkdown isn't trying to replace any of them — it came from a few specific frictions those tools left me with:
1. Opening a single file. Obsidian is vault-based — to glance at one design.md or double-check a spec, I have to open a vault. VS Code cold-start is slow. OpenMarkdown opens any .md instantly — no vault, no project.
2. Composing prompts. It's my $EDITOR, so I can write long, structured prompts for my agent without a stray newline firing off a half-written message.
3. Fleeting notes in plain text. Quick thoughts used to land in Notes, but that's WYSIWYG — fiddly to format, and not portable. Here they're just .md: openable in any app, yours forever.
4. The actual new thing — co-edit. Over MCP, the agent you already use can edit the same file alongside you, section-scoped, so you don't clobber each other. That's the part no general markdown editor does.
So it's deliberately narrow — a fast, local-first surface for the human + agent shared-file loop, not another PKM trying to out-Obsidian Obsidian. If you want to feel the difference, the Bring-your-agent guide is the fastest way in: https://openmarkdown.dev — appreciate the honest nudge
The line I keep coming back to is buried near the bottom: that you use it as your default $EDITOR for composing Claude Code prompts so you don't mis send a half written message.
That is a sharper wedge than the co-edit story above it. Everyone shipping an agent editor is arguing about merge semantics, and this thread shows you can hold your own there. But nobody has touched the fact that the prompt box in a coding agent is a terrible place to write anything longer than a sentence. No undo, no drafts, and an enter key that fires early. Anyone using Claude Code daily feels that friction and has never once thought to point $EDITOR at it.
Worth asking whether that belongs in the tagline rather than paragraph nine. The local first stance is doing quiet work here too, no account and no telemetry is a real reason to keep it open all day.
OpenMarkdown
@abdullah_javaid3 This one's not a demo — it's how I actually work. The prompt box has no undo, no drafts, and an enter key that fires before you're done. Point $EDITOR at OpenMarkdown and you compose the prompt like a document, then hand only the finished thing to Claude Code.
You're right it's doing this from paragraph nine — I'm going to sit with pulling it up front. Maybe it is the tagline. Genuinely, thank you.
@xueyanzhang You wrote the tagline in this reply and I do not think you noticed.
"An enter key that fires before you're done." That is the sentence. It names the moment someone feels the problem, and the current tagline names the mechanism instead.
The co-edit story then becomes the reason it is good rather than the reason to click.
OpenMarkdown
@abdullah_javaid3 You're right, and I hadn't. 🙂 Reading it back, the new landing page will catch up very soon!
OpenMarkdown
@abdullah_javaid3 https://openmarkdown.dev/ Thanks for the suggestion. The section order has been adjusted
Optimistic concurrency with a read-hash and reject-retry instead of last-write-wins is exactly the answer I was hoping for. One follow-up on the retry path: if I'm typing continuously in the same section while the agent keeps getting rejected, does it back off or eventually give up, or can it spin retrying against a section that never settles? And is that read-hash scoped to the whole section or something finer, so a 500-line section doesn't reject agent edits that don't actually overlap my cursor?
Per-section undo landing next update is the one I'd wait for. The redo-just-section-3 workaround still routes through another model call, and while it re-runs the mangled version sits live in my file, so if I get pulled away I might ship it. A local Cmd-Z scoped to one section of that transaction skips the round-trip. One thing I'd want to know: does the redo reliably touch only section 3, or can it drift into the two good sections since they came in as the same diff?
honestly the local-first setup is exactly what i needed, but one thing i'd love is a diff view right inside the editor so i can actually see what my agent changed when we co-edit. kind of hard to trust the changes otherwise
OpenMarkdown
@rabia584457 Really glad the local-first part clicks! And you've named the real tension in co-edit: trust.
Today it's simple: the file stays a plain .md on disk, and Cmd+Z reverts an agent edit like any other.
An in-editor diff is the thing I keep going back and forth on. I've deliberately kept agent edits as plain edits — fast, no approval step — instead of a review tray you have to clear. But your point is exactly the counterweight: without seeing the change, trust is harder.
Honestly, I don't think one approach just wins outright. We're weighing whether edit-in-place and an in-editor diff can coexist — the best of both, or at least leaving the choice to you. We've already looked into the Agent Client Protocol (ACP) (https://github.com/agentclientprotocol/agent-client-protocol) as one path to that in-editor diff.
So which would you actually want: a persistent diff view, or just a clear "here's what changed, undo if you don't like it"? Would love your honest take~
Local-first and I can use my own agent? That sounds pretty awesome... that really lovely UI is the icing on the cake for me. :)
OpenMarkdown
@jbrio :) That's the whole bet — we're the whiteboard, not the brain, so bring whatever agent you trust. And the UI's meant to disappear so you two just work — glad it landed. Thanks James~