Repository navigation
Closed as not planned
Labels
area:ai/acpFeedback for Zed's Agent Client ProtocolFeedback for Zed's Agent Client Protocolmeta:upstreamIssues that affect users but are present upstreamIssues that affect users but are present upstreamreach:some usersBugs that happen for less than one-third of users, special configurations, rare circumstances, etcBugs that happen for less than one-third of users, special configurations, rare circumstances, etcseverity:S3Papercuts, minor issues with a clear non-tedious workaround, cosmetic bugsPapercuts, minor issues with a clear non-tedious workaround, cosmetic bugs
Description
Reproduction steps
- 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"
],
}
},
- Start a new chat with external agent (OpenCode) in this case
- 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.
Current vs. Expected behavior
Current behavior (with OpenCode agent):
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:
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
Reacted by Jean Jacobi and William E. H. Qvaale
Reacted by Drew Harris and William E. H. Qvaale
Metadata
Metadata
Assignees
Labels
area:ai/acpFeedback for Zed's Agent Client ProtocolFeedback for Zed's Agent Client Protocolmeta:upstreamIssues that affect users but are present upstreamIssues that affect users but are present upstreamreach:some usersBugs that happen for less than one-third of users, special configurations, rare circumstances, etcBugs that happen for less than one-third of users, special configurations, rare circumstances, etcseverity:S3Papercuts, minor issues with a clear non-tedious workaround, cosmetic bugsPapercuts, minor issues with a clear non-tedious workaround, cosmetic bugs
Activity
yeskunall commentedon Apr 10, 2026
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:
terminal/createRPC where the agent asks Zed to run the command in a real terminal._meta-based convention usingterminal_info/terminal_output/terminal_exitfields -- 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:
rawInputgets cleared during permission requests--
Related:
yeskunall commentedon May 19, 2026
Please see this: #56594 (comment).