Skip to content

ENOTCONN: issue with Zed and ACP on Windows #3730

@taweili

Description

@taweili

Description

Hi, I am trying to use opencode with Zed on WIndows but I kept getting the error

ENOTCONN: socket is not connected

while I am trying to send prompt to opencode from zed.

Here is my Zed settings.json

{
  "edit_predictions": {
    "mode": "subtle"
  },
  "agent_servers": {
    "OpenCode": {
      "command": "opencode",
      "args": ["--log-level", "DEBUG", "acp"]
    }
  },
  "base_keymap": "Emacs",
  "ui_font_size": 16,
  "buffer_font_size": 15,
  "theme": {
    "mode": "system",
    "light": "One Light",
    "dark": "One Dark"
  }
}

Here is the opencode log and the log-level doesn't seem to produce any DEBUG output.

share\opencode\log
❯ more 2025-11-02T031310.log
INFO  2025-11-02T03:13:10 +394ms service=default version=1.0.10 args=["--log-level","DEBUG","acp"] opencode
INFO  2025-11-02T03:13:10 +0ms service=project directory=C:\Users\david\Work\bin fromDirectory
INFO  2025-11-02T03:13:10 +107ms service=config path=C:\Users\david\.config\opencode\config.json loading
INFO  2025-11-02T03:13:10 +0ms service=config path=C:\Users\david\.config\opencode\opencode.json loading
INFO  2025-11-02T03:13:10 +10ms service=config path=C:\Users\david\.config\opencode\opencode.jsonc loading
INFO  2025-11-02T03:13:10 +4ms service=bun cmd=["C:\\ProgramData\\chocolatey\\lib\\opencode\\tools\\opencode.exe","add","@opencode-ai/plugin@1.0.10","--exact"] cwd=C:\Users\david\.config\opencode running
INFO  2025-11-02T03:13:10 +35ms service=bun code=0 stdout=bun add v1.3.0 (b0a6feca)

installed @opencode-ai/plugin@1.0.10

[12.00ms] done
 stderr=Saved lockfile
 done
INFO  2025-11-02T03:13:10 +2ms service=plugin path=opencode-copilot-auth@0.0.3 loading plugin
INFO  2025-11-02T03:13:10 +3ms service=plugin path=opencode-anthropic-auth@0.0.2 loading plugin
INFO  2025-11-02T03:13:10 +41ms service=bus type=* subscribing
INFO  2025-11-02T03:13:10 +0ms service=bus type=session.updated subscribing
INFO  2025-11-02T03:13:10 +0ms service=bus type=message.updated subscribing
INFO  2025-11-02T03:13:10 +0ms service=bus type=message.part.updated subscribing
INFO  2025-11-02T03:13:10 +0ms service=format init
INFO  2025-11-02T03:13:10 +0ms service=bus type=file.edited subscribing
INFO  2025-11-02T03:13:10 +0ms service=lsp serverIds=deno, typescript, vue, eslint, gopls, ruby-lsp, pyright, elixir-ls, zls, csharp, rust, clangd, svelte, astro, jdtls, lua-ls enabled LSP servers
INFO  2025-11-02T03:13:10 +3ms service=bus type=command.executed subscribing
INFO  2025-11-02T03:13:10 +4ms service=bus type=permission.updated subscribing
INFO  2025-11-02T03:13:10 +0ms service=bus type=message.part.updated subscribing
INFO  2025-11-02T03:13:10 +1ms service=acp-command setup connection
ERROR 2025-11-02T03:13:10 +1ms service=acp-command promise={} reason=ENOTCONN: socket is not connected, open Unhandled rejection
ERROR 2025-11-02T03:13:10 +0ms service=default e=ENOTCONN: socket is not connected, open rejection
INFO  2025-11-02T03:13:10 +4ms service=acp-agent protocolVersion=1 initialize
ERROR 2025-11-02T03:13:10 +3ms service=provider error=ENOENT: no such file or directory, open 'C:\Users\david\.local\state\opencode\tui' failed to find last used model
INFO  2025-11-02T03:13:10 +2ms service=models.dev file={} refreshing
INFO  2025-11-02T03:13:10 +3ms service=provider init
INFO  2025-11-02T03:13:10 +2ms service=provider providerID=deepseek found
INFO  2025-11-02T03:13:10 +0ms service=provider providerID=siliconflow found
INFO  2025-11-02T03:13:10 +0ms service=provider providerID=opencode found
INFO  2025-11-02T03:13:10 +2ms service=session id=ses_5bd720ab7ffe4wjEbRfs2hHDN3 version=1.0.10 projectID=50eeb6c8c14480c3c86d4d2b5d6bb03980c2c437 directory=C:\Users\david\Work\bin title=ACP Session 9fc67507-e5f3-41fe-84e3-62f26bbb719c time={"created":1762053190984,"updated":1762053190984} created
INFO  2025-11-02T03:13:10 +1ms service=bus type=session.created publishing
INFO  2025-11-02T03:13:10 +0ms service=bus type=session.updated publishing
INFO  2025-11-02T03:13:10 +1ms service=acp-agent mcpServers=0 creating_session
ERROR 2025-11-02T03:13:10 +0ms service=provider error=ENOENT: no such file or directory, open 'C:\Users\david\.local\state\opencode\tui' failed to find last used model
INFO  2025-11-02T03:13:25 +14634ms service=acp-agent parts=[{"type":"text","text":"/init"}] parts
INFO  2025-11-02T03:13:25 +1ms service=session.prompt sessionID=ses_5bd720ab7ffe4wjEbRfs2hHDN3 command=init arguments= model=siliconflow/zai-org/GLM-4.6 agent=build command
INFO  2025-11-02T03:13:25 +2ms service=session.prompt session=ses_5bd720ab7ffe4wjEbRfs2hHDN3 prompt
INFO  2025-11-02T03:13:25 +4ms service=bus type=message.updated publishing
INFO  2025-11-02T03:13:25 +2ms service=bus type=message.part.updated publishing
INFO  2025-11-02T03:13:25 +2ms service=bus type=session.updated publishing
INFO  2025-11-02T03:13:25 +1ms service=provider providerID=siliconflow modelID=zai-org/GLM-4.6 getModel
INFO  2025-11-02T03:13:25 +0ms service=provider status=started providerID=siliconflow getSDK
INFO  2025-11-02T03:13:25 +90ms service=provider status=completed duration=90 providerID=siliconflow getSDK
INFO  2025-11-02T03:13:25 +1ms service=provider providerID=siliconflow modelID=zai-org/GLM-4.6 found
INFO  2025-11-02T03:13:25 +1ms service=session.lock sessionID=ses_5bd720ab7ffe4wjEbRfs2hHDN3 locked
INFO  2025-11-02T03:13:25 +0ms service=session.prompt session=ses_5bd720ab7ffe4wjEbRfs2hHDN3 sessionID=ses_5bd720ab7ffe4wjEbRfs2hHDN3 locking
INFO  2025-11-02T03:13:25 +1ms service=session.lock sessionID=ses_5bd720ab7ffe4wjEbRfs2hHDN3 unlocked
INFO  2025-11-02T03:13:25 +0ms service=session.prompt session=ses_5bd720ab7ffe4wjEbRfs2hHDN3 sessionID=ses_5bd720ab7ffe4wjEbRfs2hHDN3 unlocking
INFO  2025-11-02T03:13:25 +1ms service=bus type=session.idle publishing
INFO  2025-11-02T03:13:48 +22571ms service=acp-agent parts=[{"type":"text","text":"/init"}] parts
INFO  2025-11-02T03:13:48 +0ms service=session.prompt session=ses_5bd720ab7ffe4wjEbRfs2hHDN3 sessionID=ses_5bd720ab7ffe4wjEbRfs2hHDN3 command=init arguments= model=siliconflow/zai-org/GLM-4.6 agent=build command
INFO  2025-11-02T03:13:48 +0ms service=session.prompt session=ses_5bd720ab7ffe4wjEbRfs2hHDN3 prompt
INFO  2025-11-02T03:13:48 +3ms service=bus type=message.updated publishing
INFO  2025-11-02T03:13:48 +1ms service=bus type=message.part.updated publishing
INFO  2025-11-02T03:13:48 +1ms service=bus type=session.updated publishing
INFO  2025-11-02T03:13:48 +0ms service=session.lock sessionID=ses_5bd720ab7ffe4wjEbRfs2hHDN3 locked
INFO  2025-11-02T03:13:48 +0ms service=session.prompt session=ses_5bd720ab7ffe4wjEbRfs2hHDN3 sessionID=ses_5bd720ab7ffe4wjEbRfs2hHDN3 locking
INFO  2025-11-02T03:13:48 +1ms service=session.lock sessionID=ses_5bd720ab7ffe4wjEbRfs2hHDN3 unlocked
INFO  2025-11-02T03:13:48 +0ms service=session.prompt session=ses_5bd720ab7ffe4wjEbRfs2hHDN3 sessionID=ses_5bd720ab7ffe4wjEbRfs2hHDN3 unlocking
INFO  2025-11-02T03:13:48 +9ms service=bus type=session.idle publishing
INFO  2025-11-02T03:13:53 +4800ms service=default directory=C:\Users\david\Work\bin disposing instance

Here is the output from Zed

❯ zed --foreground .
2025-11-02T11:16:27+08:00 INFO  [zed] ========== starting zed version 0.210.4, sha 428ef50 ==========
2025-11-02T11:16:27+08:00 INFO  [gpui::platform::windows::directx_devices] Using GPU: NVIDIA GeForce RTX 3060
2025-11-02T11:16:27+08:00 INFO  [gpui::platform::windows::directx_devices] Created device with Direct3D 11.1 feature level.
2025-11-02T11:16:27+08:00 INFO  [gpui::platform::windows::direct_write] Use Segoe UI as UI font.
2025-11-02T11:16:27+08:00 INFO  [zed] Using git binary path: None
2025-11-02T11:16:27+08:00 INFO  [crashes] spawning crash handler process
2025-11-02T11:16:27+08:00 INFO  [extension_host] extensions updated. loading 2, reloading 0, unloading 0
2025-11-02T11:16:27+08:00 INFO  [auto_update] Auto Update: checking for updates
2025-11-02T11:16:27+08:00 INFO  [client] set status on client 0: Authenticating
2025-11-02T11:16:27+08:00 INFO  [crashes] connected to crash handler process after 100ms
2025-11-02T11:16:27+08:00 INFO  [crashes] crash handler registered
2025-11-02T11:16:27+08:00 INFO  [workspace] Rendered first frame
2025-11-02T11:16:27+08:00 INFO  [zed::zed] Using GPU: GpuSpecs { is_software_emulated: false, device_name: "NVIDIA GeForce RTX 3060", driver_name: "NVIDIA Corporation", driver_info: "581.29 r581_07" }
2025-11-02T11:16:28+08:00 INFO  [gpui::platform::windows::directx_renderer] Updating monochrome_sprite_pipeline buffer size from 512 to 1024
2025-11-02T11:16:28+08:00 INFO  [project::prettier_store] Initializing default prettier with plugins {}
2025-11-02T11:16:28+08:00 INFO  [project::environment] using project environment variables shell launched in "C:\\Users\\david\\Work\\bin". PATH=""
2025-11-02T11:16:29+08:00 INFO  [node_runtime] using Node.js found on PATH: SystemNodeRuntime { node: "C:\\Users\\david\\AppData\\Roaming\\nvm\\v22.19.0\\node.exe", npm: "C:\\Users\\david\\AppData\\Roaming\\nvm\\v22.19.0\\npm.cmd", global_node_modules: "C:\\Users\\david\\AppData\\Roaming\\nvm\\v22.19.0\\node_modules\n", scratch_dir: "C:\\Users\\david\\AppData\\Local\\Zed\\node" }
2025-11-02T11:16:29+08:00 INFO  [project::environment] using project environment variables shell launched in "C:\\Users\\david\\AppData\\Roaming\\Zed". PATH=""
2025-11-02T11:16:30+08:00 INFO  [client] set status on client 491398: Authenticated
2025-11-02T11:16:30+08:00 INFO  [project::prettier_store] Installing default prettier and plugins: [("prettier", "3.6.2")]
2025-11-02T11:16:31+08:00 INFO  [lsp] starting language server process. binary path: "C:\\Users\\david\\AppData\\Roaming\\nvm\\v22.19.0\\node.exe", working directory: "C:\\Users\\david\\AppData\\Roaming\\Zed", args: ["C:\\Users\\david\\AppData\\Local\\Zed\\languages\\json-language-server\\node_modules/vscode-langservers-extracted/bin/vscode-json-language-server", "--stdio"]
2025-11-02T11:16:31+08:00 INFO  [project::prettier_store] Initialized default prettier with plugins: {}
2025-11-02T11:16:31+08:00 INFO  [project::prettier_store] Initializing default prettier with plugins {}
2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr: Error handling request {

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr:   jsonrpc: "2.0",

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr:   id: 4,

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr:   method: "session/prompt",

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr:   params: {

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr:     sessionId: "ses_5bd6f01d0ffe4z6KORR329eIGP",

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr:     prompt: [

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr:       [Object ...]

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr:     ],

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr:   },

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr: } {

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr:   code: -32603,

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr:   message: "Internal error",

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr:   data: {

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr:     details: "ENOTCONN: socket is not connected, open",

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr:   },

2025-11-02T11:16:49+08:00 WARN  [agent_servers::acp] agent stderr: }

Here is my opencode.json and I can use zed on commandline just fine.

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "siliconflow": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "SiliconFlow",
      "options": {
        "baseURL": "https://api.siliconflow.cn/v1"
      },
      "models": {
        "Qwen/Qwen3-Coder-480B-A35B-Instruct": {
          "name": "Qwen3 Coder"
        },
        "MiniMaxAI/MiniMax-M2": {
          "name": "MiniMax-M2"
        },
        "zai-org/GLM-4.6": {
          "name": "GLM-4.6"
        },
        "moonshotai/Kimi-K2-Instruct-0905": {
          "name": "Kimi-K2"
        }
      }
    }
  }
}

OpenCode version

1.0.10

Steps to reproduce

No response

Screenshot and/or share link

There are communication between Zed and OpenCode over ACP. The models configured does show up in Zed.

Image

Operating System

Windows 11 Pro

Terminal

Windows Terminal

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions