Zed

Zed is a GPL-licensed editor whose agent panel runs Zed’s own agent or an external one such as Claude, Codex, OpenCode, or Gemini CLI. It is a working example of the editor and the harness being separate, replaceable parts.

Technology

What it is

Zed is an open source code editor for macOS, Linux, and Windows. Its source is licensed primarily under GPL-3.0-or-later, with Apache-2.0 components where marked. Its AI features center on an agent panel where you prompt agents, add context, review their changes, and run several threads in parallel.

The Zed Agent

Zed ships its own agent, the Zed Agent. It uses built-in tools, profiles, skills, project instructions, and MCP servers. Zed also has an inline assistant for rewriting a selection and edit predictions while you type, but the agent is the part that acts as a harness.

External agents over ACP

The agent panel can also run external agents. These run as separate processes and talk to Zed over the Agent Client Protocol (ACP), which standardizes communication between editors and coding agents: local agents run as sub-processes and exchange JSON-RPC over stdio, and the protocol reuses MCP's JSON representations where it can. Zed's documentation lists Claude, Codex, OpenCode, Copilot, Cursor, and the Pi coding agent among the common choices, with sections for Gemini CLI as well, and points to the ACP registry for the full list.

This is the idea the harness layer article argues for, in shipping software: the editor is one component and the agent is another, joined by a protocol instead of a product bundle.

Tool permissions

The Zed Agent asks for confirmation before tool actions by default. Rules can always allow, always confirm, or always deny, matched against the shell command for the terminal tool and the file path for edits. Built-in security rules block recursive deletion of critical directories even when everything else is set to allow.

Instruction files

For project instructions, Zed uses the first file it finds from a list that includes .rules, .cursorrules, .windsurfrules, .clinerules, .github/copilot-instructions.md, AGENT.md, AGENTS.md, CLAUDE.md, and GEMINI.md. Personal instructions live in an AGENTS.mdin Zed's config folder. Reading other tools' files is a practical portability choice.

Models

Models can come from Zed's hosted service, from provider API keys including Anthropic-compatible and OpenAI-compatible endpoints, from existing ChatGPT, Claude, or GitHub Copilot subscriptions, from gateways such as OpenRouter, Amazon Bedrock, and Vercel, or from local and self-hosted models.

Where it fits in an open stack

Zed is the clearest current example of an editor acting as an agent host. Open source code, a choice of model sources, MCP for tools, and ACP for whole agents mean every piece around the editor can be swapped.

Gotchas worth knowing

  • Only the first instruction file counts. If a repository has both .rules and AGENTS.md, Zed uses the one earlier in its list.
  • External agents bring their own configuration. Permissions, models, and tools for an ACP agent are set in that agent, not in Zed's agent settings.
  • A global allow is broad. Setting the default to allow skips most prompts; prefer narrow allow rules.

How it scores on openness

  • Replaceable. Strong. Many model sources, local models, and whole agents swappable over ACP.
  • Inspectable. Strong. GPL source, and agent changes are reviewed in the panel.
  • Portable. Strong. Reads AGENTS.md and other tools' instruction files, and uses MCP and ACP.
  • Bounded. Good by default, since tool actions need confirmation, with deny rules and built-in safety rules.
  • Grounded. Strong for code, working directly in the project.
  • Auditable. Moderate in the editor; durable once reviewed work is committed to git.

What it is not

Zed is not a model and not a broker. It is an editor that runs one agent at a time per thread, its own or an external one.

Openness scorecard for Zed

The notes above describe the tool. The score belongs to your deployment of it, because configuration, permissions, and where records are kept decide most of the result. Score each test 0 (absent), 1 (partial), or 2 (demonstrated) for the way you run Zed, out of 12.

TestQuestionWhat a 2 looks likeEvidence to collect
ReplaceableCan one component be swapped without rebuilding the system?A major component has been swapped, and the work was measured in days, not months.Which component did you last swap, and how long did it take?
InspectableCan a builder understand what runs and why?The exact context, tool calls, and results for each step are exported to storage you own.Where do traces live, what do they contain, and how long are they kept?
PortableCan identity, skills, context, and work move?Identity, skills, and work are files in open formats and have been loaded into a second tool.What have you exported and reloaded somewhere else?
BoundedAre authority and approval requirements explicit?Tool scopes, delegated user identity, and approvals are enforced outside the model and tested adversarially.What stops the agent from taking an action its user could not take?
GroundedDo agents share durable data and semantic meaning?Agents query governed metrics over versioned tables and cite the definition and data version.Which semantic definitions and tables do agents use?
AuditableCan people reconstruct decisions and outcomes?Runs, approvals, and data versions are recorded long enough to reconstruct any decision.Could you reconstruct an agent decision from three months ago?

Score your Zed setup on the interactive scorecard. It runs in your browser, and you can download the result as JSON or print it.

Where to learn more

Primary sources first. Documentation and specifications move faster than any summary, so treat the links below as the authority and this page as orientation.