diff --git a/aider/utils.py b/aider/utils.py index a71df8727..b2ba593e7 100644 --- a/aider/utils.py +++ b/aider/utils.py @@ -8,6 +8,7 @@ import time from pathlib import Path import git +import platform from aider.dump import dump # noqa: F401 from aider.run_cmd import run_cmd @@ -333,7 +334,22 @@ def check_pip_install_extra(io, module, prompt, pip_install_cmd): print() print("Install failed, try running this command manually:") - print(shlex.join(cmd)) + print(printable_shell_command(cmd)) + +def printable_shell_command(cmd_list): + """ + Convert a list of command arguments to a properly shell-escaped string. + + Args: + cmd_list (list): List of command arguments. + + Returns: + str: Shell-escaped command string. + """ + if platform.system() == 'Windows': + return subprocess.list2cmdline(cmd_list) + else: + return shlex.join(cmd_list) if __name__ == "__main__":