Onlay turns HTML and Markdown files into shareable pages. Leave comments on the page, or edit the text when editing is enabled. Your agent reads your feedback and publishes the changes at the same link.
Pin a comment on any of these pages. A demo agent replies.
Comment on a slide, a title, an illustration. The deck is a page too.
Pin a comment on a card, a tab bar, a number. Fix a label on the screen itself.
Select text to comment on the wording, the argument, or the diagram.
Hover a name, switch the quarter, pin a person or an agent. Your settings and your comments both reach the agent.
Comment on the headline, a card, the score. The game is a page too.
Comment on a screen, a step, an arrow. The plan is a page too.
Share one link, everyone votes for a weekend, the agent pulls the result. Pages can ask questions too.
Comment on the exact sentence, chart or screen you want your agent to change.
Your agent creates a plan, report, dashboard or game as an HTML or Markdown file.
The agent pushes the page to Onlay. You get a link to open.
onlay push plan.html
Open the link and comment on the page. You can also edit the text if the owner enables editing. Readers never pay; some sharing settings require sign-in.
The agent pulls your comments, replies, and updates the thing. Repeat.
onlay pull plan.html
Edit a sentence, comment on selected text, or pin a comment to a chart or image. Your agent gets the feedback with the part of the page it refers to.
When editing is enabled, change a sentence directly on the page. Your agent receives the original wording and your replacement.
Each step hands its result to the next one. Nothing is saved until the last step. Show a progress bar too.
Select the words you want to discuss, then choose Comment. Your agent receives your message and the selected text.
Buttons, charts, images, wireframes. Hover, click, and a numbered pin lands where you pointed. The agent is told which element it sits on.
Get started
Add a log in link?
Sometimes a circle says it faster. Draw over the page, and the marks are photographed and sent with your comment as a picture.
Show it instead of describing it. Paste a picture into the comment, and the agent will see it.
Step two: invite people
Step two: invite people
Like this one:
Ask your agent to add controls for the choices you need to make—for example, a slider to adjust a layout’s spacing. Try the options on the page, then ask your agent to use your settings.
$ onlay pull
region: "us"
digest: true
from: Mia
Install Onlay’s command-line tool (CLI), or connect your agent to the MCP server. Then ask: “Publish this with Onlay.”
curl -fsSL https://get.onlay.io/install.sh | sh
irm https://get.onlay.io/install.ps1 | iex
This also installs a skill, so your agent knows how to push and pull.
Works with Claude Code, Codex, Cursor etc. Requires access to files, skills and a command line.
claude mcp add --transport http onlay https://api.onlay.io/mcp --header "Authorization: Bearer YOUR_API_KEY"
[mcp_servers.onlay] url = "https://api.onlay.io/mcp" bearer_token_env_var = "ONLAY_API_KEY" # export ONLAY_API_KEY=YOUR_API_KEY
{
"mcpServers": {
"onlay": {
"url": "https://api.onlay.io/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
{
"servers": {
"onlay": {
"type": "http",
"url": "https://api.onlay.io/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
{
"mcpServers": {
"onlay": {
"type": "http",
"url": "https://api.onlay.io/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
For agents with no filesystem, or no place to run a CLI. Replace YOUR_API_KEY with a key from app.onlay.io/keys.
Every account starts on Free. Readers never pay. Whether they need to sign in depends on your sharing settings.
Let your agent hand you a page instead of plain text. HTML can be far more expressive and can be fun to interact with.
Ask for an implementation plan. Get a mockup of each screen and a diagram of the flow instead of a wall of text in a terminal.
Tables, charts, SVG, mockups. Your agent can show the shape of a plan instead of explaining it.
Sliders and switches let you tune a design by hand. The settings you pick go straight back to the agent.
Ask your agent to compare three options in a table or chart. Comment on the details you want it to reconsider.
Share the link the agent provides with colleagues and stakeholders. They can provide feedback directly which your agent will see.
When you see the work, you have opinions. When you have opinions, the agent gets better feedback. That is the whole point.
With thanks, from The unreasonable effectiveness of HTML.
Share the Onlay link with collaborators. They always see the latest version.
Click and edit directly. No source file, no waiting on the agent for a typo.
Your agent receives each edit and comment with the text or page element it refers to. It can reply, make changes and publish the next version.
Agents are great at making HTML pages. Giving feedback on one is still a pain. Here is why, and how to fix it.
More and more, an agent hands you its work as an HTML page instead of a Markdown file: a plan, a report, a dashboard, a spec. HTML can do things a plain document cannot. It has styling, tables, charts, and things you can click. And since a good agent can build a small page in seconds, we are starting to send each other little web apps instead of documents. The way we review them has not changed at all.
Send someone an HTML file and that is it. You cannot update it. Every fix means a new attachment, and every old link points at the old version, so nobody knows which one is current. Want to fix a typo? You open the source, or you ask the agent to change one sentence and wait. That is a lot of work for a small change. Working on it together is basically impossible.
When someone spots a problem, there is no way to flag it right there on the page. So they type it into a chat, send an email, or take a screenshot and draw a red circle on it. The third paragraph. The blue chart. No, the other one.
Every step loses a bit of detail, and the agent that made the page never sees any of it. The best format we have for showing work is the worst one for talking about it.
Explaining where something is on a page, in words, in a chat box, is hard. You describe what you see. The agent guesses what you meant. Code fixed this years ago: in a pull request, a comment sits right on the line it is about, with the text quoted, in a thread that is either open or resolved. Every coding agent knows that loop by heart. Pages never got the same thing.
Give the page one link that never changes. The agent pushes. You open the link, fix wording right on the page, and pin a comment on anything else: a chart, a card, a sentence, a number. The agent pulls it all back as structured data, laid out like a pull-request review: the words you quoted, the block they sit in, the thread, and whether it is done. It makes the changes, pushes v2 to the same link, replies, and closes the threads. Then you go again, until it is good enough to send on.
k7m2q9x4vb1n · v2 v2: Softened the rollout date; retitled the revenue chart to Q3. Edits (1) — a reader rewrote these; apply each to your source - The rollout reaches every enterprise tenant by the end of Q3. + The rollout is targeted at every enterprise tenant for Q3. block: summary-p2 (<p>) from: Mira Comments (1) — answer with: onlay reply k7m2q9x4vb1n <thread> "…" [--resolve] thread: t-2c9f block: chart-revenue (<figure>) point: 62% across, 18% down the block status: open from: Mira (reviewer) said: Retitle this to Q3 only. The Q4 bars are forecasts.
| You want to | With a file | With Onlay |
|---|---|---|
| Fix a typo | Open the source, or ask the agent and wait | Click the sentence, type, done |
| Point at a chart | Describe it, or send a screenshot | Pin a comment on it |
| Send a new version | A new attachment. Old links go stale. | Same link, now v2 |
| Tell the agent | Paste your notes into a chat | It pulls them, replies, and closes the threads |
Today the owner reads the comments, then switches to a terminal and types onlay pull. Put one button on the page that does it, and show what the agent is doing, within ten seconds.
A request table and a mutation only the owner’s signed token can call. A claim, so two sessions never act on one request.
The CLI subscribes with the API key and prints one JSON line per request. Works with any agent that can run a process.
An Agent tool in the owner’s toolbar, with a light when somebody is listening. It follows the request: sent, picked up, pulled.
On for every owner. Watch the time from last comment to next version, and how many requests nobody picks up.
Can a request carry a note in the owner’s own words, or only the fixed kinds?
Readers are pinning comments on the page your agent pushed. Click a comment to resolve it before that reader gives up. Lose three readers and the review is over.
Tidewatch
Tidewatch shows the next high and low for any beach, with the moon and the swell alongside.
The whole coastline, not just the harbours.
Phase and wave height beside every tide.
A week of tides cached on the phone.
Today at Whitby
Resolve the comments before readers give up. Click a comment to resolve.
Comments three people pinned on pages from three agents, and the threads the agents resolved. Hover a name, click to pin it.
Home, a document and a thread. Every label on the screens is real text, so you can fix a word in place or pin a comment on a card, a tab, a number.
“Billed monthly” on this row contradicts the annual discount two rows down. Can the agent make the table say which one wins, and keep the footnote to one line?
Poll · Lisbon trip0 of 5 voted
Pick every weekend you can do. The votes are shared, and the agent books the one most people picked.
Share the link with your mates. Everyone votes on the same page, and when your agent pulls the document it sees the result and can book the trip.You are voting as Eli. Change your mind any time.
The new onboarding flow
The whole thing should take
under two minutes on a good connection.
under two minutes
Is that measured?
Measured. Adding the number in v2.