From 76089db1dc84374ac4635a314d1d006f57aae535 Mon Sep 17 00:00:00 2001 From: reidliu41 Date: Fri, 29 May 2026 22:16:08 +0800 Subject: [PATCH] fix(mcp): avoid nested runtime panic on stdio shutdown Run the stdio MCP server inside a blocking section when launched from the async CLI entrypoint. This prevents Tokio from panicking when the MCP server's internal runtime is dropped after stdin closes. --- crates/tui/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/tui/src/main.rs b/crates/tui/src/main.rs index 99579eac..8bc03acc 100644 --- a/crates/tui/src/main.rs +++ b/crates/tui/src/main.rs @@ -934,7 +934,7 @@ async fn main() -> Result<()> { bail!("Choose exactly one server mode: --mcp, --http, or --acp"); } if args.mcp { - mcp_server::run_mcp_server(workspace) + tokio::task::block_in_place(|| mcp_server::run_mcp_server(workspace)) } else if args.http { let config = load_config_from_cli(&cli)?; let cors_origins = resolve_cors_origins(&config, &args.cors_origin);