From 4f746a757b84267e9b2e6d90c45175869d3d20b3 Mon Sep 17 00:00:00 2001 From: GuDaStudio Date: Mon, 10 Nov 2025 18:53:16 +0800 Subject: [PATCH] v0.4.6 --- src/codexmcp/server.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/codexmcp/server.py b/src/codexmcp/server.py index b400a73..c41bbd8 100644 --- a/src/codexmcp/server.py +++ b/src/codexmcp/server.py @@ -37,10 +37,13 @@ def run_shell_command(cmd: list[str]) -> Generator[str, None, None]: # On Windows, codex is exposed via a *.cmd shim. Use cmd.exe with /s so # user prompts containing quotes/newlines aren't reinterpreted as shell syntax. popen_cmd = cmd - - codex_path = shutil.which('codex') or None # 替换运行路径 - if codex_path is not None: - popen_cmd[0] = codex_path + + codex_path = shutil.which('codex') or cmd[0] + popen_cmd[0] = codex_path + + if os.name == "nt" and codex_path.lower().endswith((".cmd", ".bat")): + from subprocess import list2cmdline + popen_cmd = ["cmd.exe", "/s", "/c", list2cmdline(cmd)] process = subprocess.Popen( popen_cmd,