Skip to main content

Hermes Agent Sandbox

Cosmonic Desktop is a local AI sandbox for Hermes Agent: the code Hermes writes is compiled to WebAssembly and runs on your own machine with no access to your files, network, or keys until you grant it. Two settings wire it up, one for launching Hermes from Builder with the sandbox playbook and one for installing Desktop's MCP server into Hermes; use either or both.

Sandbox Hermes Agent with Cosmonic Desktop

1. Settings → Agents: launch Hermes from Builder

Open Settings → Agents. The Detected agents card lists every coding agent Desktop found by its home directory (~/.hermes) or on your login shell's PATH, and says whether each one is launchable from Builder. In the Skills card, turn on Hermes Agent to install the cosmonic-sandbox skill at ~/.hermes/skills/cosmonic-sandbox/. This is the same install the one-time Set up your coding agents dialog offers on first run; nothing is installed silently.

The skill is the sandbox playbook: it teaches Hermes to compile what it generates to a WebAssembly component and deploy it into the local sandbox instead of running it raw on your host. Once it is installed, Builder can launch Hermes directly: open Builder, pick Hermes as the agent, describe what you want, and its output lands in a sandboxed workload you can inspect before it runs.

2. Settings → MCP Server: install Desktop's MCP server into Hermes

Open Settings → MCP Server. Under Install in your AI client, turn on Hermes Agent: Hermes' own CLI is interactive, so Desktop's toggle edits ~/.hermes/config.yaml directly. This registers cosmonicd mcp serve as an MCP server in Hermes's own configuration, and the cosmonic_* tools (observe, deploy, build) are available the next time you start it. Expand Instructions on the same card to copy the manual snippet instead.

The equivalent manual command:

hermes mcp add cosmonic --command "/Applications/Cosmonic Desktop.app/Contents/Resources/cosmonicd" --args mcp serve

3. Verify the connection

Open ~/.hermes/config.yaml; the cosmonic server entry should be present. Start Hermes and ask it to list Cosmonic workloads to confirm the tools are live.

Skills over MCP

Desktop's MCP server also publishes its skill family—cosmonic-sandbox, cosmonic-go, cosmonic-nats, cosmonic-nats-tuning, and cosmonic-kafka—through the MCP Skills extension (io.modelcontextprotocol/skills). A client that supports Skills over MCP gets the playbooks the moment it connects, with nothing written to its skills directory, so the MCP registration above is enough on its own for those clients. The on-disk skill from Settings → Agents covers clients that read a skills directory but do not yet speak the extension, and it is what Builder relies on to launch Hermes.

What Hermes can do once connected

Its full tool surface (observe, deploy, build) and the guardrails are covered in Connect Coding Agents; the tools work only while Cosmonic Desktop is running.

Frequently asked questions

How do I sandbox Hermes Agent?

Install Cosmonic Desktop, then under Settings → Agents turn on Hermes Agent to install the cosmonic-sandbox skill, and under Settings → MCP Server register Desktop’s MCP server in Hermes. From then on the code Hermes writes is compiled to WebAssembly and runs in a local sandbox with no access to your files, network, or keys until you grant it.

Does Hermes itself run inside the sandbox?

No. Hermes keeps running in your terminal or IDE exactly as before. What changes is where its output executes: the programs and MCP servers it builds run as sandboxed WebAssembly workloads on your machine instead of directly on your host.

Do I need both the skill and the MCP server?

They do different jobs. The MCP server gives Hermes the tools to build, deploy, and observe sandboxed workloads; the skill gives it the know-how to use them by default. Desktop also publishes its skills over the MCP Skills extension, so a client that supports Skills over MCP gets the playbook from the connection alone.

What can the code Hermes writes reach inside the sandbox?

Nothing by default. Each workload starts with no filesystem, network, or credential access; you grant exactly the capabilities it needs in its manifest, and everything else stays denied. The same manifest deploys unchanged to Cosmonic Control on Kubernetes.

Next steps