From 6c67b4c210ca5121c30e3c928f479b83e966342d Mon Sep 17 00:00:00 2001 From: Quratulain-bilal Date: Tue, 4 Aug 2026 01:18:15 +0500 Subject: [PATCH] fix: add timeout to streaming subprocess.run() in copilot dispatch_command The streaming branch called subprocess.run() without timeout, which could hang indefinitely. Now uses the same timeout parameter as the non-streaming branch with proper TimeoutExpired handling. --- src/specify_cli/integrations/copilot/__init__.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/specify_cli/integrations/copilot/__init__.py b/src/specify_cli/integrations/copilot/__init__.py index e6f86e8991..9bcbab2670 100644 --- a/src/specify_cli/integrations/copilot/__init__.py +++ b/src/specify_cli/integrations/copilot/__init__.py @@ -307,7 +307,14 @@ def dispatch_command( cli_args, text=True, cwd=cwd, + timeout=timeout, ) + except subprocess.TimeoutExpired: + return { + "exit_code": 124, + "stdout": "", + "stderr": f"Command timed out after {timeout}s", + } except KeyboardInterrupt: return { "exit_code": 130,