More Agents

Zed

Quick answer
Prism registers a provider called prism under language_models.openai_compatible in Zed's settings.json. Every model in your catalog arrives with its context window, vision capability and reasoning setting already filled in, so Zed's agent panel can use it immediately.

Last updated Reviewed against Prism v0.3.26

One-click setup

1

Open the Agents tab

In the Admin UI, select Agents. Zed is detected via its settings file, the zed CLI, or /Applications/Zed.app on macOS.
2

Click Setup

Prism backs the file up once as settings.json.prism-backup, then merges the provider block into language_models.openai_compatible.
3

Pick a Prism model in Zed

Open Zed's model picker and choose any model under the Prism provider.

Config file locations

PlatformPath
Windows%APPDATA%\Zed\settings.json
macOS~/Library/Application Support/Zed/settings.json
Linux$XDG_CONFIG_HOME/zed/settings.json (default ~/.config/zed/settings.json)

What Prism writes

{
  "language_models": {
    "openai_compatible": {
      "prism": {
        "api_url": "http://127.0.0.1:11434/v1",
        "custom_headers": { "X-Client-Name": "Zed" },
        "available_models": [
          {
            "name": "glm-5.1:cloud",
            "display_name": "GLM 5.1 (Ollama Cloud)",
            "max_tokens": 128000,
            "max_output_tokens": 16384,
            "capabilities": {
              "tools": true,
              "images": true,
              "parallel_tool_calls": false,
              "prompt_cache_key": false,
              "chat_completions": true,
              "interleaved_reasoning": false,
              "max_tokens_parameter": false
            },
            "reasoning_effort": "high"
          }
        ]
      }
    }
  }
}

Per-model fields

FieldSource
nameThe model's route key — the name Zed sends to Prism.
display_nameThe readable name from your Prism catalog.
max_tokensThe model's context length, defaulting to 128000.
max_output_tokensThe model's max output, defaulting to 16384.
capabilities.imagesfalse unless the model reports vision support.
capabilities.chat_completionsfalse for Responses-only models, so Zed calls /v1/responses for them instead.
reasoning_effortWritten only for reasoning models. Zed takes one value per model, so Prism prefers high.
The X-Client-Name header is deliberate
Zed's User-Agent is not informative in every request, so Prism adds an X-Client-Name: Zed header to its provider block. That is how Zed traffic is labelled in the Stats dashboard.

Mixing protocols in one provider

Unlike most agents, Zed does not need two provider entries. Its capabilities.chat_completions flag is per model, so a Responses-only model and a Chat Completions model can live side by side under the single prism provider. Prism sets the flag correctly for each model.

JSONC comments are removed on rewrite

Zed's settings file is JSONC, so comments and trailing commas are common. Prism reads JSONC correctly, including a // inside a string, but the file it writes back is plain JSON — comments are lost on the rewrite.

Your original is kept
Because of this, Prism always leaves settings.json.prism-backup holding the untouched original, comments included. Prism logs a note when it detects that comments were dropped.

Add MCP servers

Zed keeps MCP servers in the same settings file, under context_servers. Enabling Zed in the MCP tab writes a gateway entry there with the Prism token. See MCP Gateway.