Repository navigation
Support stdio transport server on the session/new request in the acp mode. #3889
Description
Activity
- addedarea:non-interactiveNon-interactive mode (-p), CI/CD, ACP protocol, and headless automationNon-interactive mode (-p), CI/CD, ACP protocol, and headless automationarea:mcpMCP server configuration, discovery, connectivity, OAuth, policy, and registryMCP server configuration, discovery, connectivity, OAuth, policy, and registry
on Jun 24, 2026 Confirmed this is still reproducible on Windows 11 with both currently available builds tested on 2026-08-26:
- Official WinGet stable:
GitHub Copilot CLI 1.0.80 - VS Code-managed build:
1.0.81-11
The ACP handshake and session creation succeed. A minimal
session/newrequest containing a client-supplied stdio MCP server receives a normal successful response with a session ID:{ "jsonrpc": "2.0", "id": 2, "method": "session/new", "params": { "cwd": "<absolute workspace path>", "mcpServers": [ { "name": "echo-test", "command": "<absolute path to node executable>", "args": ["<absolute path to a minimal stdio MCP echo server>"], "env": [] } ] } }However, the supplied server is not connected and is not exposed to the model. Sending
/mcp listin that session shows only the built-in/plugin servers;echo-testis absent. No JSON-RPC error is returned for the MCP configuration.I also tested an explicit
"type": "stdio"discriminator as a compatibility probe, with the same result. The standard ACP stdio shape withouttypematches the current ACP session setup documentation.Expected behavior: the stdio server supplied in
session/new.params.mcpServersshould be started, listed by/mcp list, and its tools should be available in that session.This blocks ACP clients that inject per-session tools such as isolated desktop/computer control or connected-app bridges. The command-line
--additional-mcp-configworkaround is not equivalent for these clients because server configuration and credentials are scoped to an individual session.Reacted by Angeart- Official WinGet stable:
Describe the bug
Agent Client Protocol says All agents MUST support this transport but Copilot CLI has Rejected these stdio servers.
Affected version
GitHub Copilot CLI 1.0.63
Steps to reproduce the behavior
session/newrequest withmcpServersconfig include the stdio transport servers.Expected behavior
These will launch correctly stdio transport MCP Servers via
session/newrequestAdditional context
Currently workaround:
mcpServers config pass to copilot cli via
--additional-mcp-config=JSONargs, these works fine.Is that the behavior correct?
thanks.