AgentsWindsurf

Publish from Windsurf, now Devin Desktop, to a link you can share

Windsurf became Devin Desktop in June 2026, and Cascade's one-click Deploy went away with Cascade. Add the host0 skill and Devin Local, the agent that replaced it, runs one command and hands back a URL that stays private until you share it. MCP is optional: it manages what's live and never deploys.

Get started

Free plan, no card. Pro is $9 a month.

Who can open what you publish

A Devin Cloud deployment is public as soon as you approve it. A host0 deploy goes the other way and starts closed, so in the same session you say who gets in: "open it to anyone with the link", or "invite sam@acme.com".

  • 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.
Who's visiting
p7wz3nc9ha.host0.appSomeone signed out

Sign in to view Team todos

This app is private — sign in to check your access.

Continue with Googleyou@company.comContinue

Nothing is served until they sign in, and only people you've invited get past that.

Search engines won't index itx-robots-tag: noindex, nofollow, noarchive

Ways to connect Windsurf

RouteWhat it can doSet it up
Skill: Install it where Devin Local looks for skills. The agent uses it when you ask to publish, or you type /host0. The curl installer has no Devin target, and its codex target writes to ~/.agents/skills, a folder Devin Local reads too. Best for: Most people, since it deploys and managesWhat it can do: Deploys, Manages
npx skills add host0-ai/skills
curl -fsSL https://host0.ai/install.sh | bash -s -- --agent codex
host0 CLI: One command, with nothing to install first, in the agent's terminal or your own. It needs Node 18.18 or newer. Best for: A single deploy, or the JetBrains pluginWhat it can do: Deploys, Manages
npx -y @host0/cli@latest deploy ./my-site
MCP server: Add the server to your user config, or to .devin/mcp_config.json to share it through the repo. You sign in through your browser with OAuth. It lists apps, changes who can open them, restores versions and edits records. Best for: Looking after apps that are already liveWhat it can do: Can't deploy, Manages

~/.config/devin/mcp_config.json

{
  "mcpServers": {
    "host0": {
      "url": "https://mcp.host0.ai/mcp"
    }
  }
}
Browser drop: Drag a file, folder or zip out of your project onto host0, then sign in with an email code or Google. Devin Desktop isn't involved at all. Best for: A first try with no setupWhat it can do: Deploys, Dashboard to manage

Is Windsurf the same thing as Devin Desktop?

Yes. Cognition renamed Windsurf to Devin Desktop on June 2, 2026. The editor stayed, but the agent changed: Cascade was removed in September 2026 and Devin Local took its place.

What you knewWhat it is now
WindsurfDevin Desktop, which shows up as Devin.app on macOS
CascadeDevin Local, the same agent harness as Devin CLI
WorkflowsSkills: Devin Local doesn't run workflows
surf in the terminaldevin-desktop, with the old command still shipped
.windsurf/ in a repo.devin/, with the old folder still read
docs.windsurf.comdocs.devin.ai
One-click DeployRemoved

So a tutorial that says Windsurf mostly still applies, and one that says Cascade is out of date. Some paths never changed: worktrees still live in ~/.windsurf/worktrees, and the Linux package repositories keep the old name.

What happened to Windsurf's one-click Deploy?

It's gone from Devin Desktop. Two September 2026 releases removed Cascade and then its Deploy entry point, and the old docs address now lands on the legacy Cascade page, which doesn't describe that feature.

The feature arrived in April 2025: one prompt put your app on Netlify under a windsurf.build address, and you could claim it on Netlify to keep it. We found nothing in Cognition's docs about what happens to sites already on that domain, so check any you still rely on. What you can do now:

  • Use the host0 skill from Devin Local. You get a private link, with invites, shared data and versions.
  • Keep your own Netlify or Vercel account, and have the agent run that platform's tooling with your credentials. That's the better fit if the site already lives there.
  • Ask a Devin Cloud session to deploy it. That's the next question.

A deploy workflow you kept in .windsurf/workflows won't help here. Workflows aren't imported as skills, and Cognition's advice is to migrate them.

When is Devin's own hosting the better choice?

When a Devin Cloud session builds a small app from scratch, a public URL is fine, and above all when it needs a Python backend. Devin Cloud hosts static sites on devinapps.com and FastAPI backends on Fly.io, and host0 doesn't run server code yet.

Devin Cloud deploymenthost0
Who can open itAnyone: it's a public URLOnly you at first, then people you invite by email, anyone with the link, or the whole web
What it takesA build folder with an index.htmlAny folder of static files, or one PDF, image or HTML file
Server codeFastAPI in a set layout, on Fly.io. Other stacks are yours to set upNone yet. Lists, boards and forms can use shared records from an h0.json
Apps that already existNot what it's for, though a static build may workPublish the static build output
Who can use itNon-enterprise organizations with secure mode offAnyone with a host0 account. Free plan, no card. Pro is $9 a month.

That deploy tool belongs to Devin Cloud: its page sits in the Cloud docs and doesn't mention Devin Local, and on devin.ai/pricing cloud agents first appear on Pro. Devin's docs describe it as being for prototypes, demos and throwaway internal tools. Reach for host0 when the work shouldn't be public, when you're publishing a project or a file that already exists, or when your organization is on Enterprise, where those deployments are off.

Can I send someone a Preview or a shared conversation instead?

Not to show them the app. A Preview runs on your own machine and a shared conversation is a transcript, so neither gives another person a working page.

  • Previews: the agent proxies your local dev server into a pane or your browser, so you can pick an element or an error and send it back to the agent. It's a tool for you while you build.
  • Share conversation: uploads a sanitized transcript and returns a link. It needs a Devin account rather than a Windsurf-only one, and an organization that allows sharing. Old shared Cascade links no longer work.

The usual order is to iterate in a Preview until the page looks right, then ask Devin Local to publish it.

Where does the host0 skill go in Devin Desktop?

In ~/.agents/skills/host0 for all your projects, or .agents/skills/host0 inside one repo. Going by Devin's docs this should work, but nobody at host0 has run it in Devin Desktop yet.

FolderWho gets it
~/.agents/skills/host0 or ~/.config/devin/skills/host0You, in every project
.agents/skills/host0 or .devin/skills/host0Anyone who opens the repo
~/.codeium/windsurf/skills/host0 or .windsurf/skills/host0Still read, from before the rename

The plain curl installer chooses a folder from what's in your home directory, and it may pick ~/.claude/skills. Devin's import list only covers the project-level .claude/skills, so aim the installer at the shared folder:

curl -fsSL https://host0.ai/install.sh | bash -s -- --agent codex

To confirm it loaded, click Customize in the agent sidebar and open the Skills tab. On macOS and Linux the agent runs commands in a dedicated terminal, zsh or bash, that loads your shell config. A node or HOST0_API_KEY set up in .zshrc or .bashrc is available to it.

Why does Devin Local stop and ask before it deploys?

Because a deploy is a shell command. Code mode, the default, approves edits inside the workspace by itself but prompts for shell commands unless an allow rule covers them.

  • The command card lets you run it once, allow it for the session, or allow it for good, which writes the rule for you. You can also edit the command first.
  • Smart mode has a fast model approve what it judges safe. It's still rolling out, and anything it isn't sure about still prompts.
  • Bypass Permissions approves every tool call. You don't need it for this, and rules your admin enforces still win.
  • A sandboxed session runs in Autonomous mode and asks for capabilities rather than commands. A deploy needs network access, so grant it. OS-level sandboxing isn't supported on Windows.
  • If you've set a domain allowlist for the sandbox, add host0.ai and host0.app. Devin's docs currently call that network filtering unstable.

Expect one more stop on the very first deploy. With no API key saved, the command prints a link and a short code, and you approve them in your browser, so nothing about you gets typed into the session.

Where does the host0 MCP config go, and do I need it?

~/.config/devin/mcp_config.json on macOS and Linux, and you only need it to manage apps. The server can't deploy: publishing is the skill's job or the CLI's.

~/.config/devin/mcp_config.json

{
  "mcpServers": {
    "host0": {
      "url": "https://mcp.host0.ai/mcp"
    }
  }
}
  • On Windows the file is %APPDATA%\devin\mcp_config.json. For a team, commit .devin/mcp_config.json, and keep personal overrides in .devin/mcp_config.local.json, which stays out of git.
  • An entry in the old ~/.codeium/windsurf/mcp_config.json is still imported by default, so there's no rush to move it.
  • Customize, then MCPs, shows what loaded under This computer. When a sign-in expires the server shows Needs authentication, and Authenticate reopens the browser flow.
  • Each MCP client keeps its own OAuth session, so signing in from another agent doesn't carry over.
  • Devin Local asks before each MCP tool call. You can allow one tool or the whole server, for the session or for good, so a visibility change can stay behind a prompt while listing apps doesn't.

An Enterprise admin can limit which MCP servers connect. If host0 won't appear, ask them to allow it.

How do I redeploy, and what changes in a worktree?

In a session on the same folder, just ask again: the deploy finds the app in .host0/state.json and uploads only what changed. A new worktree doesn't have that file, so name the app or you'll get a second one.

The agent location picker offers Local, Worktree and Cloud when a session starts. A worktree gets your repository files, not untracked ones, and .host0/state.json shouldn't be committed. So in a worktree, say "redeploy to team-todos" using your app's own slug. Worktrees sit in a different directory too, so a build that reaches for ../shared-lib may break before the deploy runs.

Can a Devin Cloud session publish to host0?

It should work, but we haven't run it. A cloud session has its own machine, without the skill or the key from yours, so you have to provide both.

  • The skill: commit it to .agents/skills/host0 in the repo, the path Devin Cloud recommends.
  • The key: save HOST0_API_KEY as a personal secret, and tell Devin that's the variable the deploy reads. Secrets are bound to commands that need them rather than exported to every shell.
  • The network: a security profile or network policy may block the deploy. If it does, host0.ai and host0.app are the domains to allow.
  • The app: name the slug in your prompt, since the session has no .host0/state.json.

Give it a shared database, with no server code

Asked for shared data, Devin Local adds an h0.json to the folder and writes the page against it. There's no FastAPI service or Fly.io app to stand up. With the MCP server connected it can also read and correct those records later, asking before each tool call unless you've allowed it.

By default, everyone the app admits can read and add, and changing or removing a record takes an invite. Collaboration is poll-based, so a change shows up in the other window on its next poll. Try it: this list only lives on this page.

p7wz3nc9ha.host0.app5s

Team todos

AKAna
  • Ship the pricing pageAK
  • Book the launch demoSR

GET /.h0/data/todos → 200

p7wz3nc9ha.host0.app3s

Team todos

SRSam
  • Ship the pricing pageAK
  • Book the launch demoSR

GET /.h0/data/todos → 200

h0.json
{
  "records": {
    "todos": {
      "fields": {
        "title": {
          "type": "string",
          "required": true,
          "maxLength": 140
        },
        "done": {
          "type": "boolean",
          "default": false
        }
      }
    }
  }
}

Real apps, live on host0

Each one came from a single prompt. Open it, or paste the prompt into Windsurf to get your own copy.

Async standup log

Your remote team posts daily updates on one page instead of a meeting.

Built with Claude Code

Open app

Landing page with a waitlist

A launch page that collects emails only you can read.

Built with Claude Code

Open app

Web slide deck

A presentation as one web page — arrow keys, swipe and a link to send.

Built with Claude Code

Open app

Undo a bad deploy, and see who opened it

Versions

Reverting code in the editor doesn't change what's live: that takes a redeploy or a restored version. 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.

Windsurf and host0: questions

Has host0 been tested in Devin Desktop?

Not by us yet. The setup on this page comes from Devin's docs, which say Devin Local reads .agents/skills and runs terminal commands. The deploy itself is the same command host0 runs from any other agent.

Does host0 work with the Windsurf JetBrains plugin?

Use the host0 CLI there, from a terminal, since the plugin's docs cover rules, workflows and MCP but have no skills section. Cognition says the plugin is in maintenance mode and recommends moving to Devin over ACP.

I run Codex or Claude Agent inside Devin Desktop. Which setup applies?

That agent's own. Devin Desktop runs them over the Agent Client Protocol, and third-party agents read their own config files for most settings, so install the host0 skill where that agent expects it.

Why is the agent unavailable in this folder?

The workspace is probably open in Restricted Mode. Devin Local and every ACP agent are disabled there until the workspace leaves that mode, so nothing can publish from it. The browser drop still works.

Do the people I share with need Devin Desktop?

No, only a browser, and a phone is fine. A sign-in comes up only when the app is private or when they change shared data.

What does it cost?

Free plan, no card. Pro is $9 a month. On Free, one file can be up to 3 MB and an account holds 5 apps. Your Devin plan doesn't change any of this.

What can't I publish from Devin Desktop?

Anything that needs a running server, such as an Express API or Next.js server routes. Have the agent build first and deploy the output folder, such as dist. An archive is refused too: extract it and publish the folder, or drop the zip in a browser, which unpacks it for you.

Sources

Facts about Windsurf checked on Nov 6, 2026. Products change: if something here is out of date, tell us at support@host0.ai.

Publishing from something else?

Share what Windsurf made

A link in one sentence, private until you say otherwise.

Get started

host0 isn't affiliated with Windsurf or its maker. Product names and marks are used only to identify the product.