# Publish HTML from Meta Muse · Stacktree

Source: https://stacktr.ee/muse

[Skip to content](#main) [Stacktree](/)[Developers](/developers)[Agents](/agents)[Docs](/docs)[Use cases](/use-cases)[Pricing](/pricing)[Blog](/blog)[Dashboard](https://app.stacktr.ee)[Sign in →](https://app.stacktr.ee)      By [ Steve Smith ](/about) · Founder, Stacktree  ·  Last updated September 8, 2026          Meta Muse

#  Muse can make it. It cannot hand it to anyone.

   Meta's new assistant runs a full browser on its own VM and writes its own tools when one does not exist. What it has no primitive for is giving the result to another person. Ask it to publish to Stacktree and you get a private link back: no plugin, no key, no account, and it previews as a card in the WhatsApp thread you were already using.

  [ Create an account ](https://app.stacktr.ee/?join=1&from=seo_muse)   install npx stacktree-install
Copy
     No card · 3 pages free · about a minute

    MuseCan you pull the New York trip together and give me a link I can send the others?On it — Let me pull the bookings together.Done. The page is live at stacktr.ee/p/7Kq2vNb4 — a clean one-pager covering the flights, the hotel, both dinners and the map.Anyone you send it to can open it, no account. It’s up for 24 hours — want me to claim it so it stays, and I can update the same link if anything changes?

##  How do I share something Meta Muse made?

Ask for the work and the link in one sentence: "Write that up as an HTML page and publish
      it to Stacktree so I can send it." Muse has its own browser, so it can use the anonymous
      publish path, which needs no account and no key. You get back a private, unguessable URL that
      opens in any browser, unfurls as a card in WhatsApp, and can be revised in place so the link
      you already sent keeps showing the current version. Anonymous pages last 24 hours; claiming
      one into an account removes the expiry.

## What Muse is, in the part that matters here

 Meta launched Muse on 8 September 2026. Reading past the announcement, three details decide whether a hosting service can be useful to it, and all three are in Meta's own description.

  - It has a real computer. Each Muse runs on a persistent, isolated Linux VM with a full browser and enough storage, CPU and memory to do the things you would do on your own machine. It is not a chat window with a retrieval tool bolted on.
 - It writes its own tools. Meta's line is blunt: if a task needs a tool that does not exist, your agent builds it for you. An agent that can write a tool can write an HTTP request.
 - It lives in WhatsApp. You talk to it in the Muse app or directly in WhatsApp, which means the output of most tasks needs to end up in a chat thread with other people in it.
  Put those together and the gap is obvious. Muse can research, draft, analyse and decide. The moment the result has to reach a person who is not in the conversation, it has nothing to reach for.

## Why there is nothing to install

 There is no Muse plugin for Stacktree, and there is no plugin for anything else either: Meta has not opened a third-party connector programme. That would be a problem if integrations were the only way in. They are not.

 Stacktree's first publish is anonymous by design. One HTTP request, no key, no account, no signup step for the agent to get stuck on:

```
`curl -X POST https://api.stacktr.ee/sites -F file=@page.html`
```

 That returns the live URL, the page id, an expiry and a claim token. It is the same route [Grok Bot](/grok-bot) takes, and Grok Bot reached it unattended, on the first attempt, from a single sentence of instruction. The thing standing between an agent and a service was never whether an integration existed. It is whether the first useful action can be completed without an account.

## The WhatsApp part is the whole point

 Most agent-hosting arguments are about the agent. This one is about the recipient.

 Muse is used in WhatsApp, so its output lands in a thread with other people in it. A chat app treats a link and a file as different species. A Stacktree link unfurls into a card carrying the page title, a description and a preview image, and opens in the browser the recipient already has, on the phone they are already holding. A file attachment shows a filename, needs downloading, opens in whatever app happens to claim the extension, and is stale the second the agent revises anything.

 The revision case is the one that actually bites. Ask Muse to change something and a file has to be sent again, so the thread now holds two versions and the person reading it has to work out which is current. A published page is replaced at the same address: the link from an hour ago shows the new version, and there is only ever one of it.

## Say this, not that

 Two instructions that make the difference between a link you can use and one you cannot:

  - Ask for the page and the link together. "Write that up as an HTML page and publish it to Stacktree so I can send it." Asking for a document first and a link afterwards usually gets you a file.
 - Ask for revisions in place. "Update the page you already published" rather than "publish an updated version". The anonymous publish hands the agent a claim token that works as a keyless update credential, so the same URL can be replaced up to thirty times an hour with no account involved. Without that instruction you get a second link.
  If the page is for a client rather than for you, say so, and put it on a paid plan: the page then sits on your own domain behind a passcode, and everything published for that client collects at one address.

## What we tested

 We ran it by hand on 8 September 2026, launch day, and Muse published to Stacktree when asked. That is the claim, and it is the only one we are making about Muse's behaviour.

 Verified independently on our side, and checkable by anyone: the anonymous publish path works with no key and returns a keyless update credential, a published page unfurls correctly for WhatsApp's crawler, and Meta's agents are named in our robots rules and are not blocked at our edge.

 If you run it and get something different, including a failure, [tell us](/contact) and we will write down what happened.

## Keeping the link alive

 An anonymous page lasts 24 hours. That is deliberate: it makes the first publish free of any signup, and it is long enough to prove the thing works. It is not long enough for anything you have sent to a client.

 Claiming the page into an account removes the expiry and moves the credential into the account, after which the agent updates through an API key instead of the claim token. The free plan keeps 3 pages for 7 days each. Paid plans from $19 a month remove the expiry, add passcodes and email-domain gates, and put pages on your own domain.

## Other assistants

 If you also use a coding agent, it has a faster path than browser automation. Claude Code, Codex CLI, Cursor and Claude.ai connectors speak MCP and call `publish_html` directly. One command sets them all up:

```
`npx stacktree-install`
```

 See [every agent integration](/agents) for the full list, or hand any agent that can fetch a URL the setup instructions at [stacktr.ee/prompt.md](/prompt.md), which now branches on whether the agent can install anything at all.

FAQ

## Muse and Stacktree

     How do I share something Muse made? +  Ask for the artefact and the link in the same sentence: "Write that up as an HTML page and publish it to Stacktree so I can send it." Muse has a full browser on its own machine, so it can publish without any plugin or integration, and it gets back a URL you can paste into a chat. The alternative, asking it for a file, leaves you with something that has to be attached, re-attached after every edit, and opened in whatever app the recipient has.   Do I need a plugin or integration to use Stacktree with Muse? +  No, and there is not one to install. Meta has not opened a third-party connector programme for Muse, so nobody has an official integration on launch day. It does not block the job: Stacktree accepts an anonymous publish over plain HTTP with no key and no account, which is a request Muse can make from its own VM the same way it reaches any other site.   Why does a link work better than a file in WhatsApp? +  Because Muse is used through WhatsApp, and a chat thread treats the two completely differently. A Stacktree link unfurls into a card with the title, a description and a preview image, opens in the browser the recipient already has, and keeps showing the current version after a revision. A file attachment shows a filename, has to be downloaded, and goes stale the moment Muse changes anything. If you send the file twice, the person now has two versions and no way to tell which is newer.   Does the page expire? +  An anonymous page published without an account lasts 24 hours. Claim it into a Stacktree account and the expiry comes off. The free plan keeps 3 pages for 7 days each; paid plans from $19 a month remove the expiry, raise the page count and add passcodes and your own domain.   Can Muse update a page instead of sending me a new link? +  Yes, and this is the part worth insisting on. An anonymous publish returns a claim token that doubles as a keyless update credential, so the agent can replace the page at the same URL without any account. Once a page belongs to a Stacktree account the same is true through the API. Either way, say "update the page you already published" rather than "publish an updated version", or you end up with two links and a recipient reading the wrong one.   Is it safe to let Muse publish on my behalf? +  Publishing is not one of the actions Meta lists as gated, so treat it the way you would any other write action an agent takes: assume it will happen when you ask for it. Two things follow. Say explicitly whether the page is for a named person or for the open internet, because Stacktree pages are unguessable but the link works for whoever holds it. And do not ask an agent to publish anything containing credentials or personal data: Stacktree refuses uploads matching common secret and PII shapes by default, but the sensible boundary is not to send them.   Can Muse publish to my own domain? +  Yes, once the account behind it is on a paid plan and the domain is verified. The page then lives at your address rather than ours, which matters when the person opening it is a client. Client work can also be filed under a client space, so everything published for one recipient collects at one permanent address behind a single passcode.   Does this work with other AI assistants? +  Yes, and most take a faster route. Claude Code, Codex CLI, Cursor and Claude.ai connectors speak MCP, so they call publish_html directly instead of driving a browser. One command configures them: npx stacktree-install. Browser-and-VM assistants like Muse and Grok Bot use the anonymous HTTP path instead, which needs nothing installed.
Keep reading

## Related guides

   -  [ Publish from Grok Bot The same browser-and-VM route, this one verified hands-on and written up in full. ](/grok-bot)
-  [ Every agent integration Claude Code, Codex CLI, Cursor, n8n, Claude.ai connectors, and any MCP client. ](/agents)
-  [ Share work with clients What to do when the person opening the link is a client rather than a friend. ](/share-with-clients)
-  [ Client spaces One permanent address per client on your own domain, behind one passcode. ](/client-spaces)
-  [ Pay-per-publish For an agent with a wallet and no account: pay $0.50 and the page is permanent. ](/x402)
-  [ Pricing What the free plan covers and what removes the 24-hour expiry. ](/pricing)

References

## Sources and further reading

   -  [ Alexandr Wang announcing Muse ↗ Meta’s chief AI officer, 8 September 2026: always-on, uses a browser, connects to your apps, each Muse in its own secure VM. ](https://x.com/alexandr_wang/status/2097402344061510004)
-  [ muse.ai ↗ Meta’s own product description: a persistent isolated Linux VM with a full browser, WhatsApp as an interface, and an agent that builds its own tools when one does not exist. ](https://muse.ai)
-  [ How We Built Safety Into Muse ↗ Meta’s technical write-up on the sentinel that checks actions before anything leaves the VM, and which actions require approval. ](https://security.muse.ai)
-  [ Stacktree publish API ↗ The anonymous publish route an agent uses here, with no authentication scheme and no account: POST /sites. ](https://stacktr.ee/openapi.json)

##  Ask Muse for the page and the link in one sentence.

 No plugin, no key, no account for the first page. It opens in any browser and previews in the thread.

 [
Sign up free →
](https://app.stacktr.ee/?join=1&from=cta_muse)   install npx stacktree-install
Copy
       Private hosting for the HTML your agents make.

[](https://betalist.com/startups/stacktree?utm_campaign=badge-stacktree&utm_medium=badge&utm_source=badge-featured)[Featured on](https://devhunt.org/tool/stacktree)[](https://buildlist.io)[Get started free](https://app.stacktr.ee/?join=1)

## Product

- [Example deliverables](/examples)
- [Custom domains](/custom-domains)
- [Client feedback](/client-feedback-loop)
- [One-time links](/one-time-view-links)
- [See how pages get read](/page-engagement)
- [Made with Stacktree](/made-with)
- [Security](/security)
- [Watch the demo](/demo)

## Agents

- [All integrations](/agents)
- [Claude Code](/claude-code)
- [OpenAI Codex](/codex)
- [Cursor](/cursor)
- [Claude.ai connector](/claude-ai-connector)
- [MCP server](/mcp-publish-html)
- [Deploy from Claude Code](/deploy-html-from-claude-code)
- [Skills](/skills)
- [Slack app](/slack)
- [n8n node](/n8n)
- [Agent payments (x402)](/x402)

## Alternatives

- [All comparisons](/alternatives)
- [Head-to-head comparisons](/compare)
- [Tiiny Host](/tiiny-host-alternative)
- [GitHub Pages (private)](/github-pages-private-alternative)
- [Vercel](/vercel-alternative-for-agents)
- [ngrok](/ngrok-alternative-for-html)
- [Display.dev](/display-dev-alternative)
- [Static.app](/static-app-alternative)
- [OpenAI Codex Sites](/openai-codex-sites-alternative)
- [here.now](/here-now-alternative)
- [Shippage](/shippage-ai-alternative)
- [Best private hosting](/best-private-html-hosting)

## Use cases

- [All use cases](/use-cases)
- [Share with clients](/share-with-clients)
- [Send a file to a client](/share-html-file-with-client)
- [Share Claude artifacts](/share-claude-artifacts)
- [Share Jupyter notebooks](/share-jupyter-notebook-html)
- [Host Storybook privately](/host-storybook-privately)
- [Architecture diagrams](/share-architecture-diagrams)
- [AI-generated reports](/host-ai-reports)
- [Internal HTML tools](/internal-tool-hosting)
- [Private HTML hosting](/private-html-hosting)
- [Vibe-coded page hosting](/vibe-coding-hosting)
- [Leave a website builder](/website-builder-migration)

## Learn

- [Blog](/blog)
- [Glossary](/glossary)
- [FAQ](/faq)
- [Agent-loop hosting](/agent-loop-hosting)
- [Why agents need a publish primitive](/blog/why-agents-need-a-publish-primitive)
- [MCP servers explained](/blog/mcp-servers-explained-for-developers)
- [What changed in the 2026-07 MCP spec](/blog/mcp-2026-spec-changes)
- [Sites in Codex explained](/blog/sites-in-codex-explained)
- [Private-by-default hosting](/blog/private-by-default-html-hosting)
- [An agent paid us $1 (x402)](/blog/agent-paid-to-provision-itself)
- [When a loop hits a paywall](/blog/loop-engineering-paywall)
- [Pricing](/pricing)
- [Self-host (new)](/self-host)
- [Changelog](/changelog)
- [Docs](https://stacktr.ee/docs)
- [About](/about)
© 2026 Stacktree · stacktr.ee

[Privacy](/privacy)[Terms](/terms)[Security](/security)[Dashboard](https://app.stacktr.ee)[npm](https://www.npmjs.com/package/stacktree-mcp)[Sitemap](/sitemap.xml)[llms.txt](/llms.txt)[API spec](/openapi.json)

---
Full markdown summary of the Stacktree marketing surface: https://stacktr.ee/llms-full.txt
