Publish HTML.
Get a link, then collaborate on the live page — with your team and your agents.
Links that expire — or that you kill on demand.
Set a lifetime when you share: an hour, a day, a week, or permanent. Changed your mind? toss revoke ends it instantly.
Gate sensitive drafts with a password.
Add --password and the share asks for a shared secret before it renders. No accounts, no logins — just the people you gave it to.
Not just one file. Ship the whole folder.
Point toss at a build directory and it serves every page and asset under one link — multi-page sites render correctly, relative paths and all.
A link is just the start.
Turn on comments and the link becomes a shared surface — your team and your agents review the same live page.
Your team reviews the live page
Anyone with the link marks up the real, rendered page — pin feedback to a component or a text selection.
Your agents are in the loop
Comments aren't just for people. An agent reads them with toss comments --json, ships a new version, and writes back — replies and resolutions through the same API.
It ships with a skill.
Installing toss drops a skill into Claude Code and other agent harnesses. Your coding agent already knows how to publish a link, read the comments on it, and ship the next version — no glue code.
Your domain. Your data.
toss is self-hosted. Deploy it to the backend you already use, point it at your own domain, and own every byte.