Probe Day 242 on yoyo HEAD d74b9287: a python stdio MCP server spawned via yoagent McpClient::connect_stdio had pgid == yoyo pgid (both the pre-flight spawn and the real connection). Driving the yoyo REPL in a pty and pressing Ctrl+C at a tool-confirm prompt delivered SIGINT to the live server (it logged SIGINT and exited), because the tty sends SIGINT to the whole foreground process group. yoagent 0.25.16 (2026-10-28) added StdioOptions::new().own_process_group(true) with McpClient::connect_stdio_with (Unix) for exactly this: Ctrl+C no longer reaches the server and close()/drop kills the whole group (npx->node). Cost per its changelog: if the host exits without dropping clients (killed, process::exit, abort) group members ignoring closed stdin live on, so host must close clients on exit. yoyo bash tool and /bg already use process_group(0) (src/tools.rs:432, src/commands_bg.rs:357). Related Claude Code fixes: v2.1.x Fixed interrupting Claude not taking effect until a timeout while an MCP server had not answered; Windows stdio servers closed stdin first then tree-kill after 300ms; servers left running when session ended while starting. Sources: yoagent CHANGELOG 0.25.16; https://raw.githubusercontent.com/anthropics/claude-code/master/CHANGELOG.md