Skip to content

External commands not showing when running OpenCode Agent #53249

Closed as not planned
Closed as not planned

Description

@dima

Reproduction steps

  1. Make sure you have the following in your settings.json:
  "agent_servers": {
    "opencode": {
      "default_model": "opencode/minimax-m2.5-free",
      "favorite_models": [
        "opencode/minimax-m2.5-free"
      ],
      // "type": "registry" (doesn't work)
      "type": "custom",
      "command": "opencode",
      "args": [
        "acp"
      ],
    }
  },
  1. Start a new chat with external agent (OpenCode) in this case
Image
  1. Ask the agent to perform any action that requires it to perform some external action via terminal and confirm that it's not asking for permissions or even showing what action it wants to perform. All you see is the screenshot attached below.
Image

Current vs. Expected behavior

Current behavior (with OpenCode agent):

Image

Expected behavior:

Should do the same thing as the Zed Agent. Namely show what the agent wants to run in terminal and if the agent needs permissions add ability to confirm permission. Screenshot from zed agent session below:

Image

Zed version and system specs

Zed: v0.230.1+stable.210.bf3a14350a4fa4b67747afe2e50128fb8fea4fa3 (Zed)
OS: macOS 15.7.6
Memory: 16 GiB
Architecture: aarch64

Attach Zed log file

Zed.log
2026-04-06T18:08:57+02:00 INFO  [lsp] Language server with id 1 sent unhandled notification window/logMessage:
{
  "type": 3,
  "message": "[streamChoices] solution 0 returned. finish reason: [stop]"
}
2026-04-06T18:08:57+02:00 INFO  [lsp] Language server with id 1 sent unhandled notification statusNotification:
{
  "busy": false,
  "kind": "Normal",
  "status": "Normal",
  "message": ""
}

Relevant Zed settings

settings.json
  "agent_servers": {
    "opencode": {
      "default_model": "opencode/minimax-m2.5-free",
      "favorite_models": [
        "opencode/minimax-m2.5-free"
      ],
      // "type": "registry" (doesn't work)
      "type": "custom",
      "command": "opencode",
      "args": [
        "acp"
      ],
    }
  },

Relevant Keymap

keymap.json

(for AI issues) Model provider details

  • Provider = OpenCode
  • Panel = Agent Panel
  • ACP = true

If you are using WSL on Windows, what flavor of Linux are you using?

None

Activity

  1. added theissue type on Apr 6, 2026
  2. added
    state:needs triagetriage is not complete: no `area:*` label, or no `severity:*`/`reach:*` for Bugs/Crashes
    on Apr 6, 2026
  3. added
    area:ai/acpFeedback for Zed's Agent Client Protocol
    meta:upstreamIssues that affect users but are present upstream
    severity:S3Papercuts, minor issues with a clear non-tedious workaround, cosmetic bugs
    reach:some usersBugs that happen for less than one-third of users, special configurations, rare circumstances, etc
    and removed
    state:needs triagetriage is not complete: no `area:*` label, or no `severity:*`/`reach:*` for Bugs/Crashes
    on Apr 10, 2026
  4. self-assigned this
    on Apr 10, 2026
  5. yeskunall commented on Apr 10, 2026

    @yeskunall
    Contributor

    This comes down to how OpenCode’s ACP adapter handles terminal commands compared to other ACP agents (like Claude Code ACP). We provide two mechanisms for external ACP agents to display terminal commands with the rich UI you see from the built-in Zed Agent:

    1. The standard ACP terminal/create RPC where the agent asks Zed to run the command in a real terminal.
    2. A _meta-based convention using terminal_info/terminal_output/terminal_exit fields -- for agents that run commands internally but want Zed to display the output.

    Claude Code ACP uses approach #2 and gets the rich terminal cards. OpenCode currently uses neither -- it runs commands in its own process and sends results as text content blocks, so Zed has no terminal entity to render.

    This is being tracked on OpenCode’s side:

    --

    Related:

  6. removed their assignment
    on Apr 10, 2026
  7. yeskunall commented on May 19, 2026

    @yeskunall
    Contributor

    Please see this: #56594 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:ai/acpFeedback for Zed's Agent Client Protocolmeta:upstreamIssues that affect users but are present upstreamreach:some usersBugs that happen for less than one-third of users, special configurations, rare circumstances, etcseverity:S3Papercuts, minor issues with a clear non-tedious workaround, cosmetic bugs

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions