Stop pasting your work into a chatbot.

Markelangelo is a sovereign writing workshop, not just an editor. The AI works inside your document, your prompts are reusable tools, and nothing ever leaves your machine. Draft from nothing, interrogate what you've written, or reshape it for a new reader, all in place and on your own keys. This is the complete guide, with pictures.

Start More than an editor

Markelangelo looks like a beautiful markdown editor, and it is one. It also opens real Word documents and real spreadsheets. But what it really gives you is a sovereign writing workshop: a place to draft, interrogate and reshape documents with AI that works inside the page, on your own terms.

The Markelangelo window: a file-tree sidebar on the left and the editor on the right showing a document with a rendered callout and wiki-links.
A daily-driver editor with a serious AI workshop built in, local-first, no account, no telemetry.

Everyone who writes serious documents does the same exhausting shuffle: draft in one window, paste into a chatbot in another, copy the answer back, re-fix the formatting, repeat. Markelangelo ends it. Your prompts become reusable tools that run inside your document and apply in place, and because they run on your own keys or a local model, your work never leaves your machine. See how the AI workshop works →

Why it's different

🔒 Sovereign

No account, no telemetry. Your files are plain .md on your disk; your AI runs on your keys or fully offline.

🧠 AI in the page

Draft, interrogate and transform documents in place, with a library of prompts you build and own.

🔗 Networked notes

[[wiki-links]], backlinks and chat-over-your-notes turn a folder into a living knowledge base.

📚 Three worlds

Markdown, real Word documents and real spreadsheets, in one window, with the same AI working in all three. See the three worlds →

📄 Portable

Standard markdown in, standard markdown out. No lock-in, take your work anywhere, any time.

Who it's for

Writers, researchers, consultants, note-takers and developers who want a fast, focused editor and a real AI workshop, without surrendering their data to someone else's servers. If you value owning your words as much as writing them, this was built for you.

The definitive guide This is the complete, illustrated reference for Markelangelo: every feature, and the full depth of control you have over it, documented in one place. It leads with the AI workshop (the reason Markelangelo exists), then the editor and organising your project, then the whole settings and configuration surface, prompts, personas, models, privacy, spend, right down to the individual controls.

START Getting started

From download to your first saved document in just a few minutes.

Install & first launch

Markelangelo ships as an unsigned installer, so Windows SmartScreen may greet the first run with a warning. This is expected, the app simply isn't code-signed yet, not unsafe.

  1. Run the downloaded installer. If SmartScreen appears, click More info, then Run anyway.
  2. Let the installer finish, then launch Markelangelo. A one-time welcome tour introduces the essentials.
Note The "Run anyway" prompt appears only the first time. Markelangelo has no account and no telemetry.

Staying up to date

Once installed, Markelangelo keeps itself current. It quietly checks for new versions, and when one is ready it offers to download and install it for you, so you are always on the latest without hunting for a new installer. The only thing it ever asks the internet is "is there a newer version?"; your documents are never part of that.

Create & open documents

  1. Press Ctrl+N to create a fresh document and start writing straight away.
  2. Press Ctrl+O to open an existing markdown file from anywhere on your disk.
  3. Choose File ▸ Open Folder to open a whole workspace folder. This populates the file-tree sidebar and, importantly, powers wiki-links ([[note]]) and folder-wide search.
Tip Wiki-links and search only resolve within an open workspace folder, so open one early if you're building a linked set of notes.

Save your work

  1. Press Ctrl+S to save the current document. New documents will ask where to put the file the first time.
  2. Prefer to never think about it? Enable autosave in settings and Markelangelo writes changes to disk for you as you go.

Everything you save is plain markdown, exactly where you put it, ready to back up, sync or version however you like.

The headline feature AI comments: argue with your own draft

The AI stops lecturing you from a side-panel. It pins its notes to the exact sentences they're about, right in the margin, like comments beside a Word document, and each one becomes a conversation you can have, and settle, without ever leaving the page.

The editor with a sentence highlighted and a comment bubble in the right margin, produced by a Devil's advocate review.
Run a review and every remark lands on the passage it's about: highlighted in the text, bubbled in the margin.

From passive critique to an action you take

Ask a chatbot to critique your work and you get a wall of prose that you then have to map, by hand, back onto your own sentences. Markelangelo's review prompts (Devil's advocate, Evidence check and Clarity & concision) do that mapping for you. Each remark is anchored to the exact span it concerns, so you can see at a glance what needs attention, and precisely where.

The point A critique you can read is useful. A critique you can act on, sentence by sentence, is halfway to a rewrite. That's the difference.

Talk it through, then commit the winner

Click a comment and it opens into a thread, a focused conversation with the AI about that one passage. Push back, add context ("I actually have the Q1 pilot numbers"), ask for options. Together you shape a proposed revision, and when you're happy you resolve it in a single click:

↔ Replace

Swap the passage for the agreed revision, in place.

⤵ Insert below

Keep the original and drop the alternative underneath it.

🗒 Keep as note

Turn the remark into a callout beside the text.

🔗 Promote to note

Send the whole discussion to a linked [[note]].

The Comments panel showing the three review prompts along the top and the review inbox below.
The Comments panel is your review inbox: run a pass, then work through every thread in one place.

How to run a review

  1. Open the Comments panel from the dock rail (or the command palette).
  2. Pick a lens: Devil's advocate, Evidence check or Clarity & concision.
  3. The AI reads your document and drops anchored comments: passages light up and bubbles appear in the margin.
  4. Open any thread to discuss, draft a revision, and resolve it: replace, insert, keep as a note, or promote to a note.
Yours, and portable Comments live in a small <document>.comments.json file beside your note, so they persist across sessions, never clutter your Markdown, and travel with your files. And like everything else here, the review runs on your own key or a fully local model, so your draft only ever goes where you send it. See Providers, keys & privacy.

The big idea Your document is the workspace

Most apps bolt a chatbot onto a sidebar. Markelangelo does the opposite: the AI works on the document in front of you, in place, and the prompts you run are reusable tools you own.

The slash menu open in the editor, showing a Callout group and an AI group with Run prompt, Summarise, Generate outline, Translate and Chat with notes.
Press / anywhere and the AI is right there in the flow of writing, no context-switch.

The tab-hopping tax

You know the drill. Write in your document, copy a paragraph, switch to a chatbot tab, paste it, type the prompt, wait, copy the answer, switch back, paste it, re-fix the formatting the paste destroyed, then do it again for the next paragraph. Your best prompts live in a chat history you'll never find again, and every round trip sends your work to someone else's servers.

Markelangelo collapses that loop. Your prompts are saved, named, versioned and one keystroke away. You run them on a selection or the whole document; the result streams in beside your text, you see a word-level diff, and you apply it in place, or edit it first. Nothing gets copied out. Nothing gets pasted back.

The point Stop swapping between your document and a chat window. The document is the chat window, and it remembers your tools.

Three things you do to a document

✍️ Draft

Start from a prompt, not a blank page. Scaffold a business plan, draft a brief, outline a report, then fill it in.

🔍 Interrogate

Make the document talk back. "What's my weakest claim?" "Which assertions have no evidence?" "Answer this from the text only."

🔧 Transform

Improve, humanise, tighten, restructure, re-voice, translate or summarise, on a selection or the whole doc, applied where you're working.

Select what you want to do something to, then do it

That is the whole design law. Select a passage and right-click, and the menu opens as two columns. The left keeps the familiar editing tools, formatting, synonyms, comment lenses, your saved prompts, Document Leaders and images. The right is a dedicated column of AI actions: Improve, Humanise, Shorten, Expand, Fix grammar, a Tone submenu, plus Translate and Ask AI. One selection, one menu, everything you can do to it.

The two-column right-click menu: the left column has formatting, comment lenses, Prompts, Document Leaders and Image; the right column is a list of AI actions: Improve, Humanise, Shorten, Expand, Fix grammar, Tone, Ask AI and Translate.
Right-click a selection: editing on the left, a column of AI actions on the right.
Actions that know when they make sense You cannot really shorten a single word, so the reshape actions grey out until the selection is long enough to be worth it. Each has its own sensible minimum, and you can tune them all in Settings ▸ Quick Actions. Ask AI and Translate are always available.

The other ways in

  • Type / → the AI group in the slash menu (Run prompt, Summarise, Generate outline, Translate, Chat with notes).
  • Run Prompt (Ctrl+Shift+J) → your whole library of saved tools, with variables and a live token/cost estimate.
  • Document Leaders → run a named prompt, persona and model as a single one-click tool on a selected idea, from its sidebar tab or the right-click menu. See Document Leaders.
  • Chat with Notes (Ctrl+Shift+L) → ask questions across your whole indexed folder, with citations.
Sovereign by default Every one of these runs on your own API key (Anthropic, OpenAI, OpenRouter) or a fully local model (Ollama, LM Studio). No account, no telemetry, no middleman, your document only ever goes where you send it. See Providers, keys & privacy.

Use cases What you can actually do

These aren't hypotheticals. Every one below ships as a real prompt in your library, run it today, edit it, or fork it into your own. Real problems, real answers, all without leaving the page.

Draft from nothing

Business plan from a blank page. You know the pieces, market, model, financials, risks, but not where to start. Run Business plan and it scaffolds the whole structure into your document, with bullet prompts under every heading telling you exactly what to write. Then fill each section, using Challenge as you go to pressure-test your assumptions.

Any first draft. Draft takes a one-line brief, document type, topic, audience, and writes a structured first draft with clearly-marked [placeholders] where only you know the specifics. A blinking cursor becomes a working draft in ten seconds.

Interrogate what you've written

The sceptic, before the reviewer Challenge

You're too close to your proposal to see the holes. "Play devil's advocate" reads the whole document and hands back your three weakest claims, the strongest counter-argument, and what a hostile reviewer attacks first, so you fix it before they find it.

Which claims are unbacked? Evidence

A report full of confident assertions, but which ones have nothing behind them? "Evidence check" flags every unsupported claim and says exactly what proof would make it credible.

Ask your own document Ask doc

"Does this actually say what the deadline is?" "Ask this document" answers your question from the text alone, quotes the passage it relied on, and tells you plainly when the answer isn't there.

Did we cover the brief? Criteria

A bid or grant that must answer specific requirements. Paste the criteria into "Check against criteria" and get a Met / Partial / Missing scorecard with a gaps-to-close list.

Reshape it for a new purpose

The board version. You wrote it for engineers; the board needs plain English. Select the passage, run Re-pitch with the audience set to "a non-technical executive", and it recasts tone, jargon and length, with a diff you approve before a word changes.

Meeting notes → decisions & owners. Messy notes in; a clean record out. Actions returns the decisions actually made and an Action · Owner · Due table, inventing nothing that isn't in the notes.

One click, from idea to finished piece

A post in a voice you choose. Jot the raw idea, select it, and click a Document Leader such as "LinkedIn: Contrarian" or "Article: Storyteller". A prompt, a persona and a model, bound into one tool, turn the line into a finished, on-voice draft right below it, no dialog, no settings. See Document Leaders.

A figure that matches the words. Select a passage and, from the right-click Image group, have the AI generate an illustration that fits, in your chosen house style, dropped straight into the page. See Images.

And when you can't find it… Chat with Notes searches your whole indexed folder and answers "where did I write that thing about the lighthouse?" with citations, your second brain, kept local. See Build your own tools.

The thread running through every recipe: saved as a reusable tool · runs inside the document · applies in place · on your keys or a local model. No tab-hopping. No copy-paste. No lock-in.

Make it yours Prompts, personas & your own tools

The prompts we ship are a starting point. The real power is that every one is editable, and you can build a library of document tools tuned to exactly how you work, versioned, categorised and one keystroke away.

The Prompts tab of the Settings Shop: a filterable list of prompts on the left, a full editor (name, tags, description, nickname, category, template) in the middle, and an assignment inspector with the bar toggle, live model, persona, token estimate and version on the right.
The Prompts tab (Ctrl+, ▸ Prompts), the whole library, a full editor, and a live-context inspector for each prompt.

Anatomy of a prompt

A prompt is a reusable instruction with everything it needs bundled in. The editor gives you:

  • Name & description — what it is and what it's for, in a line.
  • Template — the instruction itself. Drop in {{selection}}, {{document}} or {{title}} and Markelangelo fills them from what you're working on.
  • Variables — add your own slots such as {{audience}} or {{criteria}}. Each is either free text or a fixed set of choices, with a default, and you're asked for it at run time.
  • Model — run this prompt on a specific model, or inherit the feature default.
  • Persona — attach a default voice (below).
  • Global message — a tick to append your standing instruction, or opt this prompt out.
  • Respond as a comment — make the prompt post its answer as an anchored margin comment instead of an inline result, with its own pill colour. This is how the review lenses work. See AI comments.

Versions

Every edit to the body or variables is snapshotted. Tuned a prompt too far? Restore any earlier version, and the current one is saved first, so you never lose a good one.

Nicknames

Give a prompt a short nickname and it appears on the editor right-click menu and the ✨ launcher, one click, no dialog.

Categories

File prompts into curated groups and filter by them, plus filter pills for nicknamed, on-the-bar and comment prompts, so a big library stays navigable.

Per-prompt model

Point a heavy analysis prompt at a frontier model and a quick tidy-up at a cheap local one, each prompt picks its own.

Personas: reusable voices

A persona captures how a reply should sound, its voice, tone and structure, separately from what a prompt asks for. Each is just a name, a one-line description and an instruction that is added to the system prompt of any run that uses it (describe the manner of delivery, not the task). Write a "sceptical reviewer" or a "warm, plain-English editor" once, attach it to any prompt, or pick it at run time. Markelangelo ships a starter set, the Technical Writer, the Natural Writer, the Plain-English Editor, the Concise Minimalist and the Academic, to build from.

The Personas tab of the Settings Shop: a searchable list of reusable voices beside an editor with Name, Description and Instruction fields.
Personas, a name, a one-line description, and the instruction that shapes the voice.

One instruction, everywhere

The switchable global message is a single instruction appended to every run. It ships enabled, set to "Return only the requested output, no preamble, no commentary", so you never have to repeat it. Edit it, turn it off, or opt any individual prompt out with its own tick.

Even the built-in actions are yours

The selection rewrites (Improve, Humanise, Shorten, Expand, Fix grammar), the five tones and the document actions (Summarise, Generate outline) are permanent tools, but the instruction behind each one is editable in Settings ▸ Quick Actions, with a Reset to restore the original. That same tab holds the minimum word counts that grey each action out until a selection is long enough to be worth it. See Your document is the workspace.

Fast access

Put your most-used tools on the Quick Action Bar, a row of one-click buttons (your own icon and colour each) carried in the editor's top toolbar, that run any prompt or command. Between that, nicknames on the right-click menu, the ✨ launcher and Run Prompt (Ctrl+Shift+J), your workshop is always a keystroke away.

Bundle a whole way of writing

When a prompt, a persona and a model always belong together, save them as a Document Leader: one named tool you run in a single click on a selected idea. It is the natural next step once your prompts and personas are in shape. See Document Leaders.

Yours to keep Export your whole prompt library to a file and import it on another machine (imports merge by name and are versioned, so nothing is clobbered). Your tools are portable, just like your documents.

Make it yours Document Leaders

Your best prompts, married to a voice and a model, and run on a single idea with one click.

A prompt gives structure. A persona gives voice. A model does the thinking. A Document Leader is all three bound into one named tool, so a whole way of writing becomes a single click. Point one at an idea in your document and it produces the finished piece, in the right shape and the right voice, below the line you selected.

The Document Leaders sidebar tab: a New button, the instruction to select an idea then click a Leader, and two seeded engines each with seven named Leaders (Builder, Contrarian, Critical cynic, Educator, Pragmatist, Storyteller, Wry).
Select an idea, then click a Leader. Each is a prompt, a persona and a model in one.

Structure, voice, and the marriage of the two

The engine

A prompt that lays down the structure, how a LinkedIn article or a long-form piece is built, section by section.

The persona

A reusable voice: the Builder is constructive, the Contrarian pushes back, the Storyteller leads with a scene, the Wry one keeps it light.

The Leader

The two, married, on a chosen model. "LinkedIn: Contrarian" or "Article: Storyteller" becomes one button you press.

Run one in a click

Open the Document Leaders tab on the sidebar, select the idea you want written up, and click a Leader. The piece is generated and inserted directly beneath your selection. The same Leaders are on the right-click menu too, so you never have to leave the passage you are working on.

Markelangelo ships two ready-made packs, a generic Article engine and a LinkedIn engine, each with seven personas, so you have fourteen Leaders to try on day one, all running on a frontier model.

Build your own

Press New and a Leader takes shape from parts you already have:

  • Name — how it reads on the sidebar, for example "LinkedIn: Wry".
  • Engine prompt — the prompt that lays down the structure.
  • Persona — the voice it speaks in.
  • Model — a specific model, or the feature default.

A Leader is a pure join: it points at those pieces rather than copying them, so improving the underlying prompt or persona quietly improves every Leader that uses it. Edit or delete any Leader from the same tab (hover for the pencil).

Why it helps The prompt that nailed a piece last week is not lost in a chat history. It is a Leader on your sidebar, voice and model included, ready to turn the next raw idea into a finished draft. See also Prompts, personas & your own tools.

WRITING Three worlds, one workshop

Markelangelo is not only a markdown editor. It opens real Word documents and real spreadsheets too, in the same window, with the same AI working inside all three.

Most days you write markdown. But work does not arrive as markdown: a client sends a .docx, an accountant sends an .xlsx, and until now that meant closing your editor and opening something else. Markelangelo opens them where you already are. We call the three Words, Rich Words and Numbers, and the status bar always names the one you are in.

Words

Plain markdown, the surface the rest of this manual describes. Your files stay ordinary .md text on your disk, readable by anything, for ever.

Rich Words

Open any .docx and you land in a proper word processor: a full ribbon, a ruler, real pages that break where Word breaks them, comments and tracked changes. It reads and writes genuine Word files, so what you send is what your client opens.

A Word document open in Markelangelo, showing the full Word-style ribbon, a ruler, and the document laid out as real pages.
Rich Words: a real .docx, with pages, a ribbon and the AI tab sitting alongside Word's own.

Numbers

Open an .xlsx and you get a real spreadsheet: formulas, formatting, multiple sheets, the lot. Copy a range here and paste it into a document and you are offered a live link, so the table in your report updates when the workbook does.

A spreadsheet open in Markelangelo, showing a formula bar, a grid of costs with currency formatting, and a spreadsheet ribbon.
Numbers: a real .xlsx, with its own ribbon and formula bar, in the same window as your notes.

The AI works in all three

This is the part that matters. Every prompt, persona and tool you build works on all three worlds, not just markdown. Ask for a rewrite in a Word document and it arrives as a tracked change you can accept or reject. Ask a question of a spreadsheet and the answer lands in the cells, as one undoable step.

Prompts can also be told which worlds they belong to, so a prompt written for spreadsheets does not clutter the menu while you are writing prose.

Moving between them

A markdown document and a Word document can be kept as a pair. Rich Switch makes a .docx beside your .md; MD Switch does the reverse. Neither destroys the other: you end up with both files, sharing a name, and you choose which to work in.

Your files stay yours All three worlds read and write the real, standard formats in place. There is no library, no import step and no proprietary container: a .docx edited here is a .docx anywhere else.

WRITING The editor

A live, distraction-free writing surface where markdown formats itself as you type.

Markelangelo's editor renders your formatting inline, headings, emphasis and lists take shape the moment you write them, so you see the finished look without a separate preview pane. It's plain markdown underneath the whole time.

The ribbon

A ribbon sits across the top of every document, in the same place in all three worlds. Six tabs hold the work: Home for the clipboard, undo and redo, styles, the marks you reach for most (bold, italic, strikethrough, inline code), lists and find; Insert for pictures, tables, callouts, links, wiki-links and a table of contents; AI for everything you can ask of a selection, a prompt or the whole document; Page for paper, margins and running headers; Review for spelling and comments; and View for zoom, reading width and the focus modes.

Beside the tabs sit your quick actions, permanent labelled chips you arrange yourself, so the space above your writing does real work. Double-click any tab to fold the ribbon away and get the room back; click it again to bring it out.

The ribbon across the top of the editor: the File menu, then the Home, Insert, AI, Page, Review and View tabs, with the Home tab open showing clipboard, undo and redo, styles, marks and list controls.
The ribbon, Home tab open. The same six tabs sit above a Word document and a spreadsheet too.

Markdown shortcuts

Prefer to keep your hands on the keys? Type the familiar markdown and it becomes formatting instantly:

Type thisYou get
# A heading (more # for deeper levels)
- A bullet list item
> A block quote
**bold**Bold text
`code`Inline code

The slash menu

Press / on an empty line to open the slash menu, a searchable list of every block you can insert, from tables and code blocks to callouts and AI actions.

The slash menu open in the editor, listing block options alongside dedicated Callout and AI groups.
The slash menu, start typing to filter, then press Enter to insert.
Tip Just type a word after the /, for example /table or /callout, to jump straight to what you want without scrolling.

The right-click menu

Select any text and right-click for a two-column command centre: editing, synonyms, comment lenses, your prompts, Document Leaders and images on the left; a column of AI actions on the right. It is the fastest way to reshape a passage without lifting your hands from the work. See Your document is the workspace.

Rich blocks

Every block is draggable, hover to the left of any paragraph, list or heading to reveal a handle, then drag it to reorder your document. Beyond the basics, the editor handles the demanding stuff too:

Tables

Insert and edit tables visually, with rows and columns you can add or remove as you go.

Code blocks

Fenced code with per-block language selection and syntax-aware preview.

KaTeX maths

Write mathematical notation that renders crisply inline and in display blocks.

Mermaid diagrams

Describe flowcharts and diagrams in text and see them drawn live.

Spelling in bulk Creative speller? Proofread mode checks the whole document at once and offers one-click corrections, no right-clicking word by word. See Proofread mode.

WRITING Split view

See two documents at once, side by side or stacked, both fully live. Perfect for writing with your notes open, comparing drafts, or lifting material from one piece into another.

Right-click any tab and choose Split Right (or Split Down). That document opens in a second pane beside the one you're in, and both are real editors: type in either, and every AI tool, panel and shortcut works in whichever pane you're focused on.

Two documents open side by side in split view: the focused pane carries a fine gold line along its top and the other pane is slightly dimmed.
Two live editors. The gold hairline marks the focused pane; the split pane's slim title bar holds the sync, flip, swap and close controls.

Which pane am I in?

The focused pane carries a fine gold line along its top edge, and the other pane dims very slightly. Click anywhere in a pane to focus it. The outline, properties, statusbar, native menus and every AI action all follow the focused pane, so there's never any doubt about what "this document" means.

The split controls

The split pane has a slim title bar with four quiet controls:

  • Synchronise scrolling, scroll one document and the other follows in proportion. Wonderful for comparing two drafts of the same piece.
  • Flip the orientation, switch between side-by-side and stacked in one click.
  • Swap the panes, exchange which document is where.
  • Close the split, back to a single pane, keeping the document you're focused on.

Drag the divider between the panes to resize them; double-click it to snap back to an even split. Your layout, which documents, which way round, and the divider position, is restored next launch along with the rest of your session.

Tip Ctrl+Alt+S is the one key to remember: it splits against your most recent other tab, and pressing it again removes the split. The View menu has the full set: Split Right, Split Down, Remove Split and Swap Panes.

WRITING Proofread mode

Check the whole document at once, and fix every spelling slip in a few clicks, no right-clicking word by word.

If your spelling is creative at the best of times, correcting a document the usual way is tedious: right-click a red word, read the menu, pick the fix, and do it again, and again. Proofread mode turns that into a single sweep. Run it once and every misspelling in the document is marked at the same time, each with its likeliest corrections offered right beside it.

A paragraph in Proofread mode: each misspelled word is marked in red, with pale green suggestion pills beside it (for example Thsi with This, severall with several, speling with spelling) and a small cross to keep the original.
Every misspelling flagged at once, with green suggestion pills you click to fix.

How it works

  1. Run it from Edit ▸ Check Spelling or press F7. The whole document is scanned in one pass.
  2. Each misspelling is marked in red, with up to three green suggestion pills beside it.
  3. Click a pill to accept that correction, the word is replaced and the marks disappear. Click the small cross to keep your original spelling as it is.
  4. Prefer to blitz the lot? A floating Correct all remaining bar fixes every word you have not already handled, using each one's top suggestion. Anything you corrected by hand is left untouched.
Local and private Proofreading runs entirely on your machine against a bundled British English dictionary, so it works offline and no text is sent anywhere. It checks English for now.
Built for the way some of us write This one exists for dyslexic writers first. The goal is simple: get a document from "creatively spelled" to clean without the death-by-a-thousand-clicks of the old way.

WRITING Callouts

Draw the eye to what matters with tidy, colour-coded boxes that travel with your file.

A single rendered Tip callout box in the editor.
A rendered callout.

Callouts are highlighted panels for notes, tips, warnings and the like, perfect for guidance, caveats and anything a reader shouldn't skim past. Markelangelo gives you five flavours: Note, Tip, Important, Warning and Caution, each with its own colour and icon.

Two ways to make one

  1. Press /, choose Callout, then pick the type you want, Note, Tip, Important, Warning or Caution.
  2. Or simply type > [!WARNING] on its own line, press Enter, and write the body on the following lines.

Both routes produce the same result, so use whichever feels quicker in the flow of writing.

Tip The [!WARNING] marker is hidden while you edit for a clean look, but it stays in the saved file. That means your callouts render correctly on GitHub, in Obsidian and anywhere else that speaks the same syntax, fully portable, no lock-in.

WRITING Collapsible headings

Fold long documents down to their outline so you can focus on the section in front of you.

Every heading in Markelangelo can be folded. Hover over a heading and a small chevron appears beside it; click the chevron to collapse everything beneath that heading, right up to the next heading of the same or a higher level. Click it again to expand the section back out.

It's a fast way to navigate a big document, collapse the parts you're done with, keep the section you're working on open, and the whole structure stays readable at a glance.

Note Folding is view-only. Collapsing a heading never alters your file, it only changes what's shown on screen. Save, reopen or hand the document to someone else and every word is exactly where you left it.

Great for long documents

The longer the document, the more this earns its keep. Working through a lengthy report or a sprawling set of notes becomes far less daunting when you can quietly tuck away everything except the part that needs you right now.

WRITING Images

Drop a picture in, or generate one from your words, and it's saved right beside your document. Everything stays on your disk.

Adding an existing image is as direct as it should be. You can:

  1. Paste an image straight from your clipboard with Ctrl+V, handy for screenshots and copied graphics.
  2. Drag an image file from your file manager and drop it into the editor where you want it.

Either way, Markelangelo saves the image into an assets/ folder sitting next to your document and inserts a reference to it at the cursor. Nothing is uploaded and nothing is hosted elsewhere, the picture lives locally, right alongside the words it belongs to.

Generate an image from your words

Need a figure that does not exist yet? The AI can make one, and drop it straight into the page. Select a passage and right-click into the Image group, where three routes wait, each following the same "select, then do" law as the rest of the app.

The right-click menu with the Image group expanded, showing Generate image from selection, Suggest an image for selection, and Insert image from file.
The Image group: generate from a selection, ask for a prompt first, or insert your own.

Generate from selection

Select some text and ask straight away. The AI reads the passage, generates an image to match, and inserts it below, all in one click.

Suggest a prompt first

Not sure what to ask for? Have the AI propose an image prompt from the surrounding text, tweak the wording, then press create.

Insert from file or URL

Already have the picture? Point at a file on disk or a web address and Markelangelo fetches it locally and files it beside your document.

A style library in Settings decides the look, editorial photo, flat vector, watercolour, line art, isometric, or your own. Pick the active style once and every generated image comes out in that voice. Generation runs on your own OpenAI key; the finished picture is saved into the same local assets/ folder as everything else.

Note For a tidy, portable relative path, save your document first. Images added to an unsaved draft are tucked away in the app's own storage for safekeeping; once the document has a home on disk, new images land in an assets/ folder beside it, so the whole document folder can be moved or shared as one neat package.

ORGANISE Outline & Properties

See your document's shape at a glance and edit its frontmatter as friendly, typed fields, no YAML wrangling required.

Two panels in the right dock help you keep a long document in order: the Outline shows its structure, and Properties gives you a tidy form for the metadata at the top of the file.

Outline

The Outline dock panel showing a clickable tree of document headings, with the current section highlighted.
The Outline panel, a live tree of your headings.

The Outline panel builds a live tree from your headings, nested exactly as they are in the document. It updates as you type, so it always reflects the current shape of your work. Click any heading to jump straight to it, handy for a report or a piece of documentation that runs to dozens of sections.

As you write, the section you're editing is highlighted in the tree, so you always know where you are in a long piece. Think of it as a table of contents you can navigate with, rather than just read.

Properties

The Properties dock panel showing frontmatter fields: a title text field, a tags list and a status field, each editable as a typed control.
The Properties panel, edit YAML frontmatter as typed fields.

Many markdown documents carry a block of frontmatter at the very top, a small slab of YAML holding the title, tags, a status and whatever else you like. The Properties panel turns that block into a friendly form: each entry becomes a typed field you can edit directly, without touching the raw syntax.

Properties come in the shapes you'd expect:

Text

A single line, a title, an author, a summary. Just type into the field.

Number

A numeric value, edited with a number field so you don't fat-finger a letter in.

True / false

A simple toggle for yes/no properties like draft or published.

Tag list

A list of tags you add and remove one at a time, rather than typing brackets and commas.

You can add a new property or remove one you no longer need, all from the panel. Everything you change is written back as ordinary YAML at the top of the file, nothing proprietary, nothing hidden. Open the same document in any other editor and the frontmatter reads exactly as you'd expect.

Note Markelangelo leaves your raw frontmatter block untouched until you actually edit a property. Existing formatting, comments and ordering are preserved right up to the moment you change something.

ORGANISE The rails & panels

Every tool you need lives one click away down the edges, open a panel when you want it, tuck it away when you don't.

Markelangelo keeps its working tools on two slim icon rails, one down each edge of the window. The left rail switches the sidebar (files, search, recents, prompts, Document Leaders); the right rail is the dock, where self-contained panels open and close independently, so your writing surface stays as clear or as busy as you like.

What's in the dock

Outline

A live tree of your headings, click to jump anywhere in a long document.

Properties

Your document's frontmatter as friendly typed fields.

Comments

Every AI comment on the document, grouped and ready to resolve. See AI comments.

Backlinks

Every note that links to the one you're reading.

AI

The AI workspace, run prompts, personas and actions on your document.

Chat with Notes

Ask questions across your workspace and get answers grounded in your own notes.

History

Local snapshots of a document you can browse and restore.

Thesaurus

The bundled 140k-entry thesaurus, right beside your writing.

Usage

A running tally of your AI usage and cost.

The rails

The slim right-edge dock rail showing a vertical column of panel-toggle icons, one per panel, with a chevron and pin at the foot.
The dock rail, one icon per panel, always to hand.

Each rail is a persistent strip of icons. Click one to open its panel or sidebar; click it again to close. Because the rail never goes away, a closed panel is always exactly one click from reappearing, no menus to dig through, no state to remember.

Pop out the labels

Icons are compact, but not always obvious at a glance. A chevron at the foot of each rail expands it to show the text name beside every icon, so you can read exactly what each one does. It works on both rails, left and right. When you want the labels to stay, click the pin beside the chevron and the rail keeps them open across restarts.

Both icon rails expanded to show text labels beside each icon: the left rail lists Files, Recents, Search, Prompts and Document Leaders; the right rail lists Outline, Properties, Comments, Backlinks, AI, Chat with Notes, History, Thesaurus and Usage.
Click the chevron to reveal labels on either rail; pin them to keep them open.

This keeps the interface out of your way when you're writing and instantly legible when you're not. Open just the Outline while drafting; add Backlinks when you're linking notes together; bring up the AI panel when you want a hand, then close them all and enjoy a clean canvas.

Note Every panel is also reachable from the command palette, press Ctrl+Shift+P and search for it by name if you'd rather keep your hands on the keyboard.

NAVIGATE Command Palette & Quick Actions

Reach any command, jump to any file, and fire your favourite prompts, all without leaving the keyboard.

Markelangelo is built to be driven fast. Whether you know exactly what you want or you're hunting for it by name, there's a keystroke that gets you there in a second.

The command palette

The command palette open over the editor, showing a search field and a filtered list of matching commands.
The command palette, every command, one search away.

Press Ctrl+Shift+P to open the command palette: a searchable list of every command in the app. Start typing what you want to do, toggle a panel, switch a theme, run an export, enter Zen mode, and the list narrows as you go. Choose a result and it runs. It's the single fastest way to reach any corner of Markelangelo, and it means you never have to memorise a keyboard shortcut you use only now and then.

Go to file

When you know the document you want, press Ctrl+P for Go to file. Type a few characters of a file's name and a fuzzy search finds it across your workspace, no need to remember which folder it's in or type the name in full. Hit Enter to open it. In a big documentation set, this is how you move between notes in the blink of an eye.

The quick action bar

The quick action bar is a row of your own one-click buttons, carried in the editor's top toolbar beside the built-in formatting controls. Each button carries its own icon and colour, and runs whatever you assign to it, any prompt from your library or any command in the app. Build up a row of the actions you reach for most, and your day-to-day workflow becomes a single click.

Tip Learn just two keys, Ctrl+Shift+P for commands and Ctrl+P for files, and you can run the whole app without ever reaching for the mouse.

CONTROL The Settings Shop

Nothing is hidden and nothing is hard-wired. Every behaviour, from autosave to the exact model behind each feature, is yours to set, in one place.

One home for everything

Open with Ctrl+, or File ▸ Settings. The Settings Shop is a full-width, non-modal workspace that leaves your document running underneath, so you can tune a prompt and see the effect without closing anything — and it now holds every preference in the app on a single rail.

The Settings Shop workspace with a left rail of tabs (General, Appearance, Language, Quick Actions, Voice, Privacy & Sovereignty, Model Management, Keys & connections, Knowledge, AI Images) and Usage at the foot.
The Settings Shop, everything Markelangelo consolidated into tabs.

Inside the Settings Shop

  • General — session restore, autosave, the daily word goal.
  • Appearance — themes and the Typography Studio.
  • Language — spellcheck languages and your dictionary.
  • Quick Actions — tune the built-in selection actions and build your Quick Action Bar.
  • Privacy & Sovereignty — the stance switcher, and the home of your model choices: Seats holds the default model for every job in the app under the stance you are on.
  • Model Management — every model with its attributes and capabilities, the templates, and what changed since you last looked. Read-only under a locked stance; yours to build under My Custom.
  • Keys & connections — connect providers, manage keys, test them, and point at a local model. It holds no model list.
  • Knowledge — the notes folder behind chat-with-notes.
  • AI Images — image generation and the style library.
  • Usage — a read-only view of spend and tokens (it sits at the foot of the rail).

General preferences

The General section holds the everyday behaviours:

SettingWhat it doesDefault
Restore previous session on launchReopen the tabs and folder you had open last time.On
AutosaveWrite changes to disk automatically while you type.Off
Autosave delayHow long to wait after you stop typing before saving (0.5 to 5 seconds).1.5 s
Daily word goalShown as a gold ring in the status bar. Set to 0 to switch it off.0 (off)
A clean slate, safely Reset all settings restores every preference to its out-of-the-box value. Your documents, API keys and prompt library are not touched, only your preferences return to default.
Where everything lives Look and feel is in Appearance; spelling and dictionaries in Language; keys in Keys & connections; data routing in Privacy & Sovereignty; spend in Usage & Budget; and your prompts and personas in the AI Library on the left rail (see Prompts & personas) and Document Leaders.

APPEARANCE Themes & reading comfort

Shape the app around your eyes and your mood, pick a theme, tune the typography down to the character, and strip everything back when you just want to write.

Markelangelo is a place you'll spend hours, so it's built to feel right for you. Everything here lives in Settings ▸ Appearance (Ctrl+,), from the overall theme down to the width of a line of prose.

Themes

The Markelangelo app rendered in the dark Midnight Oracle theme, showing the editor and dock in low-light tones.
Midnight Oracle, a deep indigo palette for long, late sessions.

Turn on Follow system and Markelangelo tracks your operating system's light and dark preference automatically. Or choose one of three hand-tuned themes yourself:

Daylight Athenaeum

Warm ivory and gilded ink. The default reading room, a classical light theme.

Midnight Oracle

A deep indigo night. A calm dark theme for low light and late hours.

Scriptorium

Aged paper and oak. A soft, book-ish light palette with a gentle feel.

Tip There's a light/dark cycle command in the palette, and the theme swaps the whole palette in one move, tokens and all, so nothing is ever half-styled.

The Typography Studio

The Typography Studio puts the finer details of your prose in your hands, with a live preview that updates as you drag. Start with a font pairing:

Modern

Inter, a clean, contemporary sans-serif.

Editorial

Newsreader, a refined serif. The default.

Classic

Lora, a warm, calligraphic serif.

Technical

Geist, a precise, engineered sans.

Then dial in the reading experience with four sliders and a toggle:

ControlRangeDefault
Size14 to 22 px17 px
Line height1.40 to 2.001.70
Measure (line width)50 to 100 ch72 ch
Paragraph spacing0.5× to 2×
Justified texton / offoff

Small changes here make a real difference over a long session; a Reset typography button restores the defaults whenever you want a clean slate.

Focus, typewriter & Zen

When you want the world to fall away, three writing modes clear the decks:

  • Focus mode (F10) dims everything except the paragraph you're working on.
  • Typewriter scrolling keeps the caret centred on screen as you type, so your eye never chases the line down the page.
  • Zen mode (F9) hides all the chrome, sidebar, tabs, toolbars, everything, leaving only your words. Press F9 again to bring it back.

Document zoom

Need the text a little larger or smaller for the moment? Zoom the document with Ctrl+= and Ctrl+- (or Ctrl and the scroll wheel), anywhere from 70% to 200%, and Ctrl+0 to snap back to 100%. It scales the document, not the chrome, handy for presenting on a big screen or squeezing more onto a small one.

CONTROL Language & spelling

Write in the language you think in, with a dictionary that learns your words and a thesaurus that never needs the internet.

Everything here lives in Settings ▸ Language (Ctrl+,). Markelangelo separates two kinds of spelling help: the live underline as you type, and a whole-document Proofread sweep. Both draw on the settings below.

Spellcheck languages

Choose up to five languages to check at once, so a bilingual document is underlined correctly throughout. British English is enabled by default and pinned to the top of the list; the full set on offer comes from your operating system, with names shown in plain form (British English, American English, and so on) beside their language code.

Downloaded once, then offline A language's dictionary is fetched the first time you use it, then kept on your machine for good, so your spelling help keeps working with no connection.

Your personal dictionary

Names, jargon and coinages that are not "wrong" just need adding once. Type them into your personal dictionary, or right-click any underlined word and choose Add to dictionary, and they stop being flagged everywhere, in every document.

The thesaurus

Reach for a better word without leaving the page. Synonym lookups use a WordNet-derived dataset of around 140,000 entries, bundled with the app and entirely offline. Open it from the right-click menu on a word, the Thesaurus dock panel, or the "Look Up Synonyms" command (Ctrl+Shift+Y).

Proofread: the bulk pass

When you want to fix a whole document at once rather than word by word, Proofread mode (F7) checks the lot in a single pass and offers one-click corrections. It runs against a bundled British-English dictionary on your own machine. See Proofread mode.

All local Every part of the language toolkit, spellcheck, your personal dictionary, the thesaurus and proofreading, runs on your machine. None of your text is sent anywhere to be checked.

CONTROL AI providers & keys

There is no Markelangelo AI account and no middleman. You connect a provider you already pay for, or a model running on your own machine, and your keys stay encrypted on your disk.

Everything here lives in Settings ▸ Keys & connections (the palette door is Keys & Connections…). It holds the connections and the keys only: the models themselves live next door in Model Management, under the stance that governs them. Three built-in providers are ready to connect, and you can add your own.

The Keys and connections section, showing provider cards with enable toggles, key status and a Test and refresh action.
Keys & connections: connect a provider, paste a key, and test it.

The providers

Anthropic

Claude models (Opus, Sonnet, Haiku and more), on your Anthropic key.

OpenAI

GPT models and the embedding models that power semantic search, on your OpenAI key.

OpenRouter

One key, hundreds of models across providers, and the routing that drives the sovereignty stances.

Your own endpoint

Any OpenAI-compatible server, add it by name and base URL. This is how local models connect.

The three built-in providers cannot be removed, only disabled. Any additional OpenAI-compatible endpoint can be added yourself.

Adding a key, safely

On a provider's card, choose Set key and paste your API key. It is encrypted with your operating system's secure storage (Keychain, DPAPI or libsecret) and stored on your machine only. It is never synced and never logged, and the app itself only ever holds the last four characters to show you; the full key stays in the vault and goes straight to the provider when you run a request. Each card also offers Replace key, Clear, and Test & refresh, which verifies the connection and pulls the provider's live list of models. Each card shows how long since that list was last refreshed, and once it has been a while a gentle prompt suggests refreshing, because model names are chosen by the providers and change over time, not by Markelangelo.

Or go fully local, no key at all

Prefer nothing to leave your machine? Run a model server locally and point Markelangelo at it. One-click presets set up Ollama (http://localhost:11434/v1) and LM Studio (http://localhost:1234/v1) for you; a local endpoint needs no key, no account and no bill. Install one, pull a model, and select it.

Tip A local model is the most private option there is, and it's free to run. Cloud models are faster and more capable. Mix and match by setting different defaults per feature, below.

The model catalogue

Each provider carries a catalogue of models with an editable label, context window, maximum output and price per million tokens in and out. Built-in models can be relabelled and repriced; you can add models by id too. The pricing you set here is what drives the cost meter, so keeping it current keeps your Usage figures honest.

A model for every job

In the Defaults tab you choose the model behind each kind of work, so a quick tidy-up can run on something cheap and fast while long-form drafting reaches for a frontier model:

FeatureWhat it drives
Quick actionsThe selection rewrites: Improve, Shorten, change tone and the rest.
Prompt runsYour prompt library and free-hand instructions.
Document actionsSummarise, outline and table-of-contents generation.
Chat with notesConversational answers grounded in your indexed notes.
Semantic indexThe embeddings that power search and chat (needs an embedding-capable model).

Any prompt or Document Leader can also override its own model, so the default is only ever a sensible starting point.

CONTROL & CONFIGURATION Markelangelo Labs

Experimental, opt-in features that lean on third-party tools. The first inhabitant: run Claude on your own subscription instead of an API key.

The Markelangelo Labs tab in the Settings Shop, with the Claude-on-your-subscription feature and its download, sign-in and enable steps.
File ▸ Settings ▸ Markelangelo Labs. Everything here is opt-in and honest about its experimental nature.

Claude on your Pro or Max subscription

If you already pay for a Claude subscription, Labs lets Markelangelo's text features run on it, no pay-as-you-go key needed. Three steps, all inside the app:

  • Download the runtime. The Claude tool is large, so it's fetched only when you ask, and verified by checksum before it installs. Never use Labs? It costs you nothing.
  • Sign in with your plan. Click Sign in, approve in your browser, paste the token back. It rides entirely on Anthropic's own sign-in flow.
  • Turn it on. The app runs a quick test turn so you can see it working, and a small Max badge sits in the status bar whenever your subscription is doing the talking.
Honest by design Subscription authorisation is Anthropic's territory and could change under us; Labs says so plainly rather than pretending otherwise. Embeddings and image generation still use an API key. If anything wobbles, switching the feature off returns you to exactly the setup you had before.

CONTROL Privacy & Sovereignty

One click decides how far your words are allowed to travel. Everything that follows, the models on offer, the defaults each feature uses, and every run in the app, already agrees with it.

Settings ▸ Privacy & Sovereignty is one room with one job: you pick a stance, and from that moment the app is already right. There is no second set of switches to keep in step, and nothing quietly steps outside your choice to be helpful.

A stance is not a flag on a setting. It is a list of models, worked out from live data: what OpenRouter publishes about its providers and their retention policies, what your own machine is running, and which of your own keys are set. Four of the five stances are locked, which means the list is the list. You choose your defaults from it, and you can neither add to it nor hide anything in it.

The five stance cards in Privacy and Sovereignty: Totally Local, EU Only, Zero Data Retention, No Training and My Custom, each with a one-line summary and its honest trade-off, the active card carrying a switch-on-and-go pill.
Five stances, one click apart, each honest about its trade-off. Four are locked; My Custom is yours.

The five stances

🔒 Totally Local

Your writing never leaves this computer. It runs on your own Ollama or LM Studio models. You need one running, and quality and speed are your hardware's.

🌍 EU Only

Only models served by providers headquartered in the EU, requested and enforced via OpenRouter. A smaller set of models, handled by those providers under their own policies.

🚫 Zero Data Retention

Only endpoints on OpenRouter's published zero-retention list, requested on every run. Fewer models again.

⛔ No Training

Every OpenRouter model, with no-training requested and enforced by OpenRouter on each run rather than pre-listed. Providers may keep short-term logs for abuse monitoring under their own policies, so this is not the same as zero retention.

✎ My Custom

The one open stance: everything OpenRouter can reach and your own direct keys, each model wearing its own attribute, and you decide what is on the list. It opens with the Best available template already on, so a first-time user still gets our recommended set in one click.

Direct keys and an Anthropic Max subscription exist under My Custom and nowhere else. That is why there is no "run anyway" anywhere in the app, and nothing to consent to: under a locked stance there is no outside-the-stance run to permit. The only way out of a locked stance is to choose My Custom, which is a deliberate, visible act.

Seats: the whole app's model choices, on one panel

Under the cards sits Seats. A seat is the job a model does: Writing (prompts, quick actions, document actions, the Conversational writer, Map Expand, Build it), Quick (the Conversational interviewer, which needs structured answers), Vision (reads pictures and charts), Images (makes pictures), Knowledge index (the embeddings behind chat-with-notes) and Voice (dictation).

Every seat shows what it will use, and you change it from the served list. Nothing else is offered. Each stance keeps its own seat choices, so switching stance swaps the whole set and switching back restores exactly what you had. The active card carries a small pill that says switch on and go when every seat already has a compliant choice, and "2 seats need a choice" when they do not.

Model Management: your list, under My Custom

Settings ▸ Model Management is the models environment, straight after the stance that governs it. Under a locked stance it is read-only and says so: you are looking at every model that stance serves, with where your text goes, what each can do, its price per million tokens, its context window, its health and its lifecycle. Under My Custom it becomes yours to build.

The Model Management section: a search box and three filter groups (Where, Can do, Other), a templates panel on the left, and a table of models with columns for where your text goes, what it can do, price, context, health and lifecycle.
Every model, with what it is, where your text would go, and what it can do. Filters narrow and never widen.
  • The filters narrow and never widen: Where your text goes, what a model Can do, and Other (price, health, lifecycle), with a search box for names, vendors and providers.
  • Templates switch on a curated list in one click: Best available, EU balanced, Zero retention, Direct keys. Mine is not a template, it is the set of models you switched on by hand.
  • Every row is marked with why it is on. yours means you switched it on, and we will never switch it off for you. template means a template put it there. kept means something of yours still points at it, so it stays.
  • The watch bar across the top is what changed since you last looked.

One model selector, everywhere

Wherever a model is chosen it is the same picker: the Run Prompt override, a prompt's own model and its two Conversational seats, a Leader's model, a Flow node, Retry on another model, the seat defaults on the stance page, and the repair on a stopped run.

The model selector open on the Writing seat under My Custom: a lock bar naming the stance and the size of the list, filter chips that only narrow, and rich rows saying where the text goes, what each model can do and what it costs.
The lock bar says what this list is and why, before you read a single row. Here it is My Custom; under a locked stance it names the stance and what it serves for this seat.
  • The trigger reads "{model} · {attribute}", so the closed state already tells you where the text goes.
  • The lock bar says what the list is and why: "EU Only · showing the 12 models served by EU-based providers that writing can use. Nothing else is offered."
  • The filters only narrow. A locked stance cannot be widened from a picker.
  • The rows are rich: what the model is, where your text would go, what it can do, what it costs, and whether we have tested it.
  • The footer takes you to the right room: Privacy & Sovereignty under a locked stance, Model Management under My Custom.

A model you pinned that your stance does not serve is shown on the trigger in gild, marked not served, rather than hidden. Hiding it would be the silent substitution this whole design exists to end.

The model chip: where this run will go

Beside every control that fires a run sits a small model chip naming the model and its attribute: "Mistral Large · EU-based · Mistral (FR)", or "Claude Opus 5 · Direct to Anthropic". A run on your Anthropic Max subscription says "Direct to Anthropic (your Max subscription)".

The chip asks the same resolver the run itself will ask, so it cannot claim a model or a route the run did not take. When the seat cannot be served, the chip turns gild and carries the sentence in its tooltip. In dense lists and menus it shrinks to an icon and the words move to the tooltip, so every option in a list still tells you where it would go before you pick it.

When a run cannot go ahead: the stopped door

If the model a run would use is not served, the run stops. It is never swapped for something else, and you are never asked to make an exception. The sentence is always the same shape and always ends the same way:

The house sentence Under your EU Only stance, Claude Opus 5 is not served for writing. Nothing was sent.

"Nothing was sent" is the point: you never have to wonder whether the words went anywhere while the app worked out that they should not have. The other reasons speak just as plainly: a model that has vanished from the stance's list, one that has reached its end date, one whose providers are down or degraded, one that cannot do the job, a provider you switched off, or a missing key.

There are three ways out, and no fourth: pick a served model from the picker in the door (which runs this one thing and leaves everything else alone), switch stance (or "Choose a model", or "Add a key", whichever the reason calls for), or Not now. Where the run was fired from a panel rather than a button, the same sentence and the same three doors appear under the control you pressed, not behind a dialog covering the thing you are trying to repair.

The watcher: what changed since you last looked

Model lists move. Providers move country, endpoints go dark, models are retired, better ones arrive. A background watcher reads OpenRouter's lists daily and turns what changed into sentences, in our words rather than an event log.

  1. New. A model has arrived. It is offered, never switched on.
  2. Gone. A model is no longer served. If something of yours pointed at it, it is switched off, every seat that named it waits for a choice, and nothing is substituted.
  3. Expiring. A model has an end date, or has just reached one.
  4. Dark. The providers serving a model are down or degraded, so it is "not answering right now", never "gone". Nothing of yours changes while it is dark.
  5. Re-characterised. What a model is has changed: it gained or lost a zero-retention endpoint, its capabilities changed, or its provider now publishes a different headquarters, which is what EU Only reads.
  6. Your override touched. A model you switched on yourself has just changed. Your switch is exactly where you left it, and the choice is put back to you.
  7. Newer in family. A newer member of the same family has arrived, is served under your stance, and can do everything the one you use can do.

That last one is the family line, one line beneath the picker wherever a model is pinned. It informs and never moves. Try it changes this one control and nothing else. Switch everywhere shows every place the old model is chosen, lets you tick the ones to move, and repoints them in one go, so nobody is left half-upgraded; it only ever offers seats your stance would still serve afterwards. Not now is remembered for that pair and never asked again.

Everything the watcher raises collects in the watch bar at the top of Model Management: only what you have not seen, each row a sentence you can act on, with Open the log for the whole history and Mark all seen to empty it. The loudest row, the one about a model something of yours points at, is also raised as an alarm on the stance card and the Seats panel, where the choice was made.

How OpenRouter and its partners apply this

  1. Every provider is labelled. OpenRouter publishes each downstream provider's headquarters, its data-retention policy and whether it may train on what you send.
  2. Markelangelo attaches the controls to each request. Depending on the stance it sets a zero-data-retention flag, a "do not collect this data" directive, and, for EU Only, an allow-list of EU-headquartered providers.
  3. OpenRouter routes only to providers that comply. Its routing engine narrows the candidates to those that satisfy the controls and passes the data-handling directives along with the request. If none can meet them, the request is refused rather than quietly sent to a weaker provider.
  4. The commitment is the provider's. The actual promise (no retention, no training, EU residency) is made by each downstream provider under the terms OpenRouter publishes and applies. OpenRouter is the gatekeeper; the providers are the parties bound by it.

So Markelangelo states the constraint, OpenRouter applies it against its partner providers, and you can read the detail in OpenRouter's own sovereign-AI documentation. Totally Local needs none of this: there is no network call to route.

Important: it is your choice how much you share

The stance you select decides how much of your text may leave your machine, from none at all on Totally Local to the fewest limits on My Custom. Choosing a more open stance is a deliberate decision to share more in exchange for capability. It is never done behind your back, and the app shows you plainly what each stance does and does not promise before you apply it.

Please be clear-eyed about the limits of anyone's control. On the cloud stances we send the strongest routing controls available to us and OpenRouter applies them against its partners, but the actual handling of your text is performed by third parties, OpenRouter and the model providers, under their own policies. "EU Only" means providers headquartered in the EU; OpenRouter's guaranteed in-region processing is a separate enterprise service we do not claim. My Custom attaches no routing controls at all: each model wears its own attributes and your text is handled under each provider's own policies. Those policies, and any guarantees in them, are theirs and not warranties given by Markelangelo, and we do not control, operate or audit those services. Even a model you run locally is third-party software we did not write and cannot fully control.

We give our genuine best endeavours to honour every stance faithfully and to route your requests exactly as the stance describes. We cannot, and do not, guarantee that a third party will adhere to its own stated policy. You are responsible for choosing a stance suited to the sensitivity of your material; if in any doubt, Totally Local shares nothing. This guide is not legal advice, and it does not replace the terms of the providers you use.

None of this is a hedge around the intent, it is the intent: the choice sits in your hands, deliberately. Pick the strictest stance you are comfortable working within, and you never have to wonder where your words went.

Sovereign by default You are never asked to trust us with your words; you choose, per session and per task, exactly whose hands they may pass through. See also Your work, your machine. You can keep a copy of everything here, this notice included, by downloading the full guide as a PDF from the sidebar.

CONTROL Usage & Budget

Every AI run is metered the moment it happens, so you always know exactly what your workshop is costing you, broken down by model and by feature.

Markelangelo records each run: the model, the feature, the tokens in and out, and the estimated cost from the pricing in your model catalogue. It all stays on your machine. You can read it two ways: the Usage dock panel for a quick glance while you work, and the Usage & Budget settings tab for the fuller picture.

The Usage dock panel: range tabs, a cost figure, run and token counts, and tables breaking spend down by model and by feature.
The Usage panel, spend and tokens at a glance, by model and by feature.

What it shows

Choose a time range, Session (since you opened the app), Today, Week (the last seven days) or All, and see the total cost, the number of runs, and tokens in and out. Two tables break it down: by model and by feature (quick actions, prompt runs, document actions, chat, semantic index, image generation), so you can see at a glance where your spend is really going.

A monthly budget, as a guide not a gate

Set a monthly budget in US dollars and the Usage panel tracks your month-to-date spend against it, turning amber past 80% and red past 100%. It is a soft ceiling: a gentle signal, never a wall. Runs are never blocked, whatever the meter says. Set it to 0 to switch the budget off entirely.

Honest numbers The figures are estimates from the pricing you keep in the catalogue, a close guide, not your provider's invoice, so verify against their billing for the last penny. Everything is stored locally, and a Clear usage data action wipes it whenever you like.

MANAGE History & export

A safety net under every save, and clean documents to hand out, however your reader wants them.

History

Markelangelo keeps local snapshots of each file so you can always step back. A snapshot is taken on save, before an AI change is applied, and whenever you ask for one by hand. Open the history for a file to diff any snapshot against the current version and restore it in a click, all stored locally, nothing sent anywhere.

Tip Because a snapshot is taken before every AI apply, you can experiment freely, if a rewrite isn't right, restore the version from a moment ago.

Export, print & copy

When a document is ready to leave the app, there is a route for every destination, all from File:

PDF

Produce a styled PDF with page options you control: page size, portrait or landscape, margins, and optional page numbers.

HTML

A styled, self-contained HTML file with proper syntax highlighting and a light or dark theme.

Print

Send the document straight to a printer, laid out the same way the PDF is.

Copy as HTML

Copy the document as rich HTML to the clipboard, ready to paste into an email or another editor with its formatting intact.

Whatever you hand over looks finished, embedded images and all, while your source stays plain markdown on disk.

Preferences live elsewhere Configuring the app, prompts, models, privacy and the rest, is covered under Settings & the Settings Shop and the sections that follow it.

REFERENCE Keyboard shortcuts

The handful of keys that get you around Markelangelo without lifting your hands from the keyboard.

ActionShortcut
Command paletteCtrl+Shift+P
Go to fileCtrl+P
New documentCtrl+N
OpenCtrl+O
SaveCtrl+S
Reopen closed tabCtrl+Shift+T
Toggle sidebarCtrl+B
Zen modeF9
Zoom inCtrl+=
Zoom outCtrl+-
Ask AI on selectionCtrl+J
Run promptCtrl+Shift+J
Chat with NotesCtrl+Shift+L
Proofread (check spelling)F7
Note For the always-current list, including any shortcuts added since this page was written, open Help ▸ Keyboard Shortcuts inside the app.

COVENANT Your work, your machine

Markelangelo is built on a simple promise: your files are yours, and nothing leaves your machine unless you ask.

This isn't a setting you switch on, it's how the app is made. The editor, and all local or bring-your-own-key work, stays account-free, telemetry-free and sovereign. There is no sign-up, no login, no phone-home, no analytics quietly watching what you type.

The covenant

Your files are yours

Plain markdown, sitting in ordinary files on your own disk. Open them in any editor, back them up any way you like, keep them forever. Nothing is locked in a proprietary format or a cloud you don't control.

No account, no telemetry

You don't create an account to use Markelangelo, and it doesn't report on you. What you write stays between you and your computer.

Nothing sent unless you ask

The only time anything crosses the network is when you run an AI request against a provider you chose, and even then, the Totally Local stance keeps it all on your machine.

Your keys, encrypted

Bring-your-own-key means the credentials are yours, stored encrypted on your device and used only to talk to the provider you named.

Why it matters

If you live in your documentation, the writers, researchers, engineers and note-keepers who spend their days inside their words, this is the difference between a tool you rent and a tool you own. Your ideas, drafts and half-formed thoughts are some of the most personal things you make. They deserve a home that treats them as yours alone.

Tip Write freely. Nothing here is watching, nothing is uploaded by default, and everything you make is a plain file you can take with you. That's the whole point.