AgentsClaude Code
Put what Claude Code builds online, at a link
Claude Code can already publish one page as an artifact on claude.ai. For a whole site, a PDF, inviting people who don't use Claude or data that viewers save, add the host0 skill: Claude Code runs one command in your terminal and answers with a live URL, private until you share it.
Free plan, no card. Pro is $9 a month.
Who can open what you publish
An artifact's audience is set in its page header on claude.ai. A host0 app's can be changed from the session that made it: "open this to anyone with the link" or "invite sam@acme.com". It starts private either way.
- Private: the default. You and people you invite by email, each signing in as themselves.
- Anyone with the link: no sign-in, unlisted and never indexed.
- Public on the web: no sign-in, and search engines may index it.
Access
- No one yet. Add an address and watch the visitor's window.
Sign in to view Team todos
This app is private — sign in to check your access.
Continue with Googleyou@company.comContinueNothing is served until they sign in, and only people you've invited get past that.
x-robots-tag: noindex, nofollow, noarchiveWays to connect Claude Code
| Route | What it can do | Set it up |
|---|---|---|
Plugin: One install adds the skill and the MCP server. The command opens the /plugin panel to review it and pick a scope; after that, sign the server in from /mcp. It needs Claude Code v2.1.275 or later. Best for: Publishing and managing from one install | What it can do: Deploys, Manages | |
Skill: A SKILL.md and a script under your skills folder. Claude Code loads it when you ask to publish, or when you type /host0. The curl installer covers every project on this machine; the skills CLI covers the current project unless you add -g. Best for: You only want to publish | What it can do: Deploys, Manages | |
host0 CLI: No install, and no skill for Claude Code to read. Ask it to run this in Bash, or type it yourself after ! at the prompt. It needs Node 18.18 or newer. Best for: Trying one deploy before you add anything | What it can do: Deploys, Manages | |
MCP server: Adds tools for apps that already exist, with OAuth sign-in from /mcp. It can't publish, and by default it loads only in the project where you added it. Best for: Changing access or records from any session | What it can do: Can't deploy, Manages | |
| Browser drop: Drag the output folder or file onto host0 yourself and sign in with an email code or Google. Claude Code isn't involved. Best for: A permission setup you can't change | What it can do: Deploys, Dashboard to manage |
Does Claude Code have artifacts like claude.ai?
Yes. Ask for an artifact and Claude Code publishes one page from your session to a private claude.ai URL, opens it in your browser, and updates it in place as the session goes on.
- Finding them again:
/artifactslists yours and any shared with you, andCtrl+]reopens this session's latest. - Who has them: Pro, Max, Ultra, Team and Enterprise, in a session signed in with
/login. - Who doesn't: sessions on an API key, a gateway token, Amazon Bedrock, Google Cloud's Agent Platform or Microsoft Foundry, and organizations with customer-managed keys, HIPAA or Zero Data Retention. They're also off by default for
claude -p, the Agent SDK and the GitHub Action.
If Claude Code writes a local HTML file and gives you no link, one of those is why. That file isn't wasted: the host0 skill publishes it as it is.
When is an artifact enough, and when do I need hosting?
An artifact is enough for one page you and your colleagues look at. It stops being enough when the work is several files or a PDF, when someone without a Claude account needs private access, or when viewers have to save something.
| Claude Code artifact | host0 link | |
|---|---|---|
| What you publish | One .html, .htm or .md file, up to 16 MiB rendered. Relative links don't resolve | A folder of files that link to each other, or one PDF, image or page. Each file up to 3 MB on Free |
| Network from the page | A strict CSP: no external images, scripts only from five CDN hosts, fetch only to its own origin and Google Fonts | A normal website, plus its own records API |
| Private sharing | Specific people or everyone in your organization, on Team and Enterprise. Anthropic's help center also lists email invitations in beta on every paid plan, and each invitee needs a Claude account | Anyone you invite by email, with a host0 sign-in and no Claude account |
| Open sharing | A public link, which an Owner has to allow on Team and Enterprise | Anyone with the link, or public on the web and indexable |
| Viewers saving data | No. It's a static page and can't authenticate viewers | Yes, with shared records from an h0.json |
| Comments and connectors | Comments on organization shares, which Claude can read and answer. Connector calls run on each viewer's own account | Neither |
| Address | claude.ai/code/artifact/… | A host0.app subdomain. Pro includes 3 custom domains per account; Free has none. |
| What you need | A paid Claude plan and a claude.ai login | A host0 account. Free plan, no card. Pro is $9 a month. |
Stay with the artifact for a PR walkthrough, a set of design options or a status board for your own organization: there's no second account, and it's the only one of the two where a teammate can send a comment straight to Claude. On Pro, Max and Ultra there's no organization to share within, which leaves a public link or an email invitation that's still in beta and needs a Claude account. That's the case for an invite-only host0 app.
Can Claude Code host a website?
Not a site with more than one page. An artifact can't serve multiple routes, and Anthropic's docs say a hosted tool with a backend belongs on your own infrastructure. So Claude Code builds the site and something else serves it.
With host0, what you point the deploy at depends on what Claude Code made:
- Plain HTML, CSS and JavaScript: the folder with
index.htmlat its root, not the parent of that folder. - A framework with a build step: have Claude run the build, then publish
dist,buildorout. - Lists, forms and boards that were heading for a database: ask for shared records in
h0.json. - Server code: host0 doesn't run it yet. The API refuses server code and secrets like
.envwith a message that says why, and Claude Code can act on that. A real API has to live elsewhere.
"Claude Code hosting" can also mean running the agent itself, in a cloud or self-hosted environment. That's a different topic: this page is about what the agent made.
Plugin, skill or MCP server: which one do I install?
The plugin, if you want to publish and manage from one install. The skill alone, if you only publish. The MCP server alone can't publish anything.
| Plugin | Skill | MCP server | |
|---|---|---|---|
| Publishes | Yes, through its skill | Yes | No |
| Manages live apps | Yes | Yes, by running commands | Yes, as tools |
| Active in | The scope you pick: you everywhere, the whole repository, or you in this repository | All your projects, from ~/.claude/skills, or one project if the skills CLI put it there | This project only, until you choose another scope |
| Context cost when idle | The skill's name and description every turn, plus whatever MCP tool search adds for the server | Its name and description every turn | Whatever MCP tool search adds |
/plugin install host0 --marketplace host0-ai/skillshost0-ai/skills counts as a third-party marketplace in Anthropic's terms, and a plugin from any marketplace runs as you. In a session the command opens the plugin's details first, so read them, then pick a scope. Claude Code may ask for /reload-plugins before it's active. We haven't run this install ourselves.
Why don't I see the host0 MCP server in my other projects?
Because local is the default scope: a server loads only in the project where you added it. Add --scope user to the command to get it everywhere, then open /mcp and finish the OAuth sign-in in your browser.
claude mcp add --transport http host0 https://mcp.host0.ai/mcpOnce it's signed in, Claude Code has tools like list_apps, set_visibility, share, restore_version and update_record, and no deploy tool, since that's the skill's job. If you're logged in with a claude.ai account and added host0 as a connector there, it's already available in Claude Code. On Team and Enterprise, only admins can add those connectors.
Why did Claude Code stop before deploying?
Most likely auto mode or a permission prompt, not host0. With v2.1.283 or later a terminal session starts in auto mode, where a classifier blocks by default any download piped into a shell, production deploys, and sensitive data sent to external endpoints.
- The install: our curl installer is the piped kind. If it's blocked, use the plugin.
- The deploy: whether a publish reads as a production deploy is the classifier's call, and we haven't measured how often it says no.
- Saying it plainly helps: the classifier reads a message that names the action and its specifics as your approval, such as "publish ./dist to host0 as a private app". That covers the one action.
- After a block: the
/permissionspanel lists it under Recently blocked, where you can approve a retry. For something routine,autoMode.allowin your settings is the standing version. - In Manual mode you answer a prompt for the command each time, and in
dontAskmode anything that would prompt is denied.
Does a deploy work with the Bash sandbox on?
It needs a few hosts and one folder opened up, by our reading of the docs; we haven't run it. The sandbox is off until you turn it on with /sandbox. Once on, its allowed domains start empty and commands can only write to the working directory and a temp directory, which leaves out where host0 saves your key.
~/.claude/settings.json
{
"sandbox": {
"network": {
"allowedDomains": [
"host0.ai",
"host0.app",
"registry.npmjs.org"
]
},
"filesystem": {
"allowWrite": [
"~/.host0"
]
}
}
}API calls go to host0.ai, uploads to host0.app, and registry.npmjs.org is for the CLI through npx. If npx can't run in there, the skill switches to its publish.sh, which needs only curl and jq.
Without these settings, what happens at a new host depends on the mode: Manual mode prompts you, and auto mode refuses unless the command named the host and the classifier agreed. Claude may also ask to rerun outside the sandbox, shown as "Bash command (unsandboxed)". On native Windows none of this applies, because commands run unsandboxed there.
Will a new Claude Code session update the same app?
Yes, if it publishes the same folder, because .host0/state.json in there ties the folder to the app. Artifacts go the other way: a new session makes a new artifact unless you give it the URL.
That state file doesn't come along to a fresh clone or another machine, and the skill says to keep it out of git. There, name the app: "publish my changes to host0 app k3x9q2m7ta". If the session has no files either, the skill pulls the live version into an empty folder first. Pulled files may be a built bundle, so if you still have the source, have Claude Code edit that and rebuild.
Can I move an artifact I already made to host0?
It should work, but we haven't run it ourselves. An artifact starts as an HTML or Markdown file Claude Code wrote, in a temp directory unless you named a place, so ask it to publish that file. In a later session, give it the artifact's URL first.
- Live sections stop: connector calls go through claude.ai, so that data has to be baked into the page or moved to shared records.
- The download button goes too: it's a claude.ai capability, so ask Claude Code to rebuild it.
- Comments stay behind on the artifact, and viewers get a new URL.
- The old link keeps working until you delete the artifact, with
din/artifacts. That's permanent, for everyone.
Can a Claude Code cloud session publish to host0?
It should work, but we haven't run it. A cloud session, including the browser at claude.ai/code, has neither your local skills nor your plugins, and host0 isn't on its default network list, so you set up each of these first.
- The skill: commit it to the repository's
.claude/skills/, or enable it for your claude.ai account. A project's cloud threads only take the account route. - The network: the Trusted level covers package registries, GitHub and cloud SDKs. Choose Custom and list
host0.aiandhost0.app, or choose Full. - The key: add
HOST0_API_KEYto the environment's variables. Any command in the session can read it, so treat that environment accordingly. - The app: name its slug in the prompt, because the VM has no state file.
Real apps, live on host0
Each one came from a single prompt. Open it, or paste the prompt into Claude Code to get your own copy.

Team ticket board
A shared to-do board with three columns your whole team works on.
Built with Claude Code

Web slide deck
A presentation as one web page — arrow keys, swipe and a link to send.
Built with Claude Code

One-page report as a PDF link
A PDF report that opens in any browser, with a download button.
Built with Claude Code
Undo a bad deploy, and see who opened it
Versions
An artifact versions every publish, and so does host0. Here Claude Code can attach a note saying what changed, which is what you read in the version list later. On Free: live version only. On Pro: 30 days of version history.
Analytics
Page views, countries and referrers on every app, with no cookies and nothing for you to install. On Free: total visits only. On Pro: full, 90 days.
Claude Code and host0: questions
Has host0 been tested with Claude Code?
One path has. On 5 October 2026 we published a folder and a lone PDF to production from Claude Code with the skill's script, opened both on a phone on a cellular network, and ran the private, invite and unshare cycle. We haven't run the plugin install, the sandbox settings, cloud sessions or claude -p.
Do I need a paid Claude plan to publish to host0?
Not for host0's sake. Artifacts need a paid plan and a claude.ai login, but the host0 skill is a shell command, so it doesn't care whether Claude Code runs on a subscription, an API key or a cloud provider.
How does Claude Code get a host0 key?
It starts a device login by itself. The first publish with no key prints a link and a short code, you approve in your own browser within 10 minutes, and the key lands in ~/.host0/credentials. You can set HOST0_API_KEY instead.
Do the people I share with need Claude?
No. An artifact shared within an organization needs a claude.ai sign-in as a member. A private host0 app needs only a host0 sign-in at the invited email, and an app open to anyone with the link needs no sign-in to read.
Can I publish from claude -p or a script?
It should work with HOST0_API_KEY set, but we haven't run it. Nobody is there to approve a device login, and claude -p denies calls that need approval unless an allow rule covers them or you start it in auto mode.
Does it work in the desktop app and the VS Code extension?
A plugin installed at user scope in the terminal, the desktop app's local sessions or the VS Code extension is available in the other two on that computer, because they read the same settings. We haven't tried a deploy in each of them.
What does it cost?
Free plan, no card. Pro is $9 a month. On Free one file can be 3 MB and an account can hold 5 apps. Your Claude plan has no effect on those numbers.
Sources
Facts about Claude Code checked on Nov 6, 2026. Products change: if something here is out of date, tell us at support@host0.ai.
- Claude Code docs: Share session output as artifacts
- Claude help: Share artifacts
- Claude Code docs: Plugins overview
- Claude Code docs: Install and manage plugins
- Claude Code docs: Extend Claude with skills
- Claude Code docs: Connect Claude Code to tools via MCP
- Claude Code docs: Choose a permission mode
- Claude Code docs: Configure the sandboxed Bash tool
- Claude Code docs: Configure cloud environments
- Claude Code docs: Use Claude Code in the cloud
Publishing from something else?
Share what Claude Code made
A link in one sentence, private until you say otherwise.
Get startedhost0 isn't affiliated with Claude Code or its maker. Product names and marks are used only to identify the product.