Use `nono` AI agent sandboxes in Zed Agent Servers

2 min read

306 words

I recently set up nono sandboxes on my Mac to put my Claude Code sessions into a more restricted playground. Having Claude live unrestricted on my whole filesystem did not feel right, especially knowing that it could (potentially) request pretty much any website out there as well. No one wants to experience prompt injection or random deletions of your database or even your file system records.

After finding out about nono from a Discord community I am part of (webdevs.community), it became clear that I would like to give it a try.

Since I work mostly in Zed (yes, I look at the code that is getting written in the files still), I wanted to set up the sandboxed Claude environment there. Zed created a project called Agent Client Protocol, or short ACP, for exactly that. Claude itself is integrated via ACP in Zed, bridging the connection via the Claude SDK.

Therefore we need to install that. The claude-agent-acp is a Node package which is available at npm. Since we need it globally available the following command will install it:

npm install -g @agentclientprotocol/claude-agent-acp

Setting up an "external" agent is pretty straightforward. The following is the configuration that needs to be done in your Zed's settings.json.

"agent_servers": {
    "Nono 🙂‍↔️": {
      "default_config_options": {
        "mode": "auto",
        "effort": "max",
      },
      "type": "custom",
      "command": "nono",
      "args": [
        "run",
        "--profile",
        "<INSERT_PROFILE_NAME>",
        "--allow-cwd",
        "--",
        "claude-agent-acp",
      ],
      "env": {},
    },
},

This configuration will give Claude readwrite access to the current workdir, so your open workspace. To set up a nono profile, check the nono docs.

That should be it. This should be applicable with every AI harness that can run via ACP. Check the available supported agents in the ACP docs.