# Stop spawning ACP/MCP servers with interactive shells \(\#44826\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/3db2d03bb3cfc4ad8acaa2d644519d2470599d7f)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 3db2d03bb3cfc4ad8acaa2d644519d2470599d7f

Requested commit: 3db2d03bb3cfc4ad8acaa2d644519d2470599d7f

Commit: 3db2d03bb3cfc4ad8acaa2d644519d2470599d7f

Tree: 19119acd7c8a36eb37472eeabd283c952bdf730a

Author: Xipeng Jin

Committer: GitHub

## Message

```
Stop spawning ACP/MCP servers with interactive shells (#44826)

### Summary:
- Ensure the external agents with ACP servers start via non-interactive
shells to prevent shell startup noise from corrupting JSON-RPC.
- Apply the same tweak to MCP stdio transports so remote context servers
aren’t affected by prompts or greetings.

### Description:
Switch both ACP and MCP stdio launch paths to call
`ShellBuilder::non_interactive()` before building the command. This
removes `-i` on POSIX shells, suppressing prompt/title sequences that
previously prefixed the first JSON line and caused `serde_json` parse
failures. No functional regressions are expected: both code paths only
need a shell for Windows/npm script compatibility, not for
interactivity.

Release Notes:
- Fixed external agents that hung on “Loading…” when shell startup
output broke JSON-RPC initialization.
```

## Parents

- [63918b8955d0ac846a1c1d2058b026d4d9d122f5](https://git.cafe/gitcafe/zed/commit/63918b8955d0ac846a1c1d2058b026d4d9d122f5?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/3db2d03bb3cfc4ad8acaa2d644519d2470599d7f?format=markdown)
