{"record":{"id":"726729a01bb3f5c5","repo":"NousResearch/hermes-agent","slug":"could-not-start-copilot-acp-command-self-acp-co","errorCode":null,"errorMessage":"Could not start Copilot ACP command '{self._acp_command}'. Install GitHub Copilot CLI or set HERMES_COPILOT_ACP_COMMAND/COPILOT_CLI_PATH.","messagePattern":"Could not start Copilot ACP command '(.+?)'\\. Install GitHub Copilot CLI or set HERMES_COPILOT_ACP_COMMAND/COPILOT_CLI_PATH\\.","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"agent/copilot_acp_client.py","lineNumber":522,"sourceCode":"    def _run_prompt(self, prompt_text: str, *, timeout_seconds: float) -> tuple[str, str]:\n        try:\n            # Hide the console the CLI child would otherwise flash on Windows\n            # (#56747). Hide-only — stdio pipes stay intact for the ACP wire.\n            from hermes_cli._subprocess_compat import windows_hide_flags\n\n            proc = subprocess.Popen(\n                [self._acp_command] + self._acp_args,\n                stdin=subprocess.PIPE,\n                stdout=subprocess.PIPE,\n                stderr=subprocess.PIPE,\n                text=True, encoding='utf-8', errors='replace',\n                bufsize=1,\n                cwd=self._acp_cwd,\n                env=_build_subprocess_env(),\n                creationflags=windows_hide_flags(),\n            )\n        except FileNotFoundError as exc:\n            raise RuntimeError(\n                f\"Could not start Copilot ACP command '{self._acp_command}'. \"\n                \"Install GitHub Copilot CLI or set HERMES_COPILOT_ACP_COMMAND/COPILOT_CLI_PATH.\"\n            ) from exc\n\n        if proc.stdin is None or proc.stdout is None:\n            proc.kill()\n            raise RuntimeError(\"Copilot ACP process did not expose stdin/stdout pipes.\")\n\n        self.is_closed = False\n        with self._active_process_lock:\n            self._active_process = proc\n\n        inbox: queue.Queue[dict[str, Any]] = queue.Queue()\n        stderr_tail: deque[str] = deque(maxlen=40)\n\n        def _stdout_reader() -> None:\n            if proc.stdout is None:\n                return","sourceCodeStart":504,"sourceCodeEnd":540,"githubUrl":"https://github.com/NousResearch/hermes-agent/blob/c896c09c42910c584c4c7d2325b58c14713ea42c/agent/copilot_acp_client.py#L504-L540","documentation":"Hermes failed to spawn the GitHub Copilot ACP process because the configured command binary does not exist (subprocess.Popen raised FileNotFoundError). The command comes from HERMES_COPILOT_ACP_COMMAND / COPILOT_CLI_PATH or the default 'copilot' resolution. The message tells you to install the new GitHub Copilot CLI or point Hermes at it explicitly.","triggerScenarios":"Starting Copilot ACP mode (provider copilot_acp) when 'copilot' is not on PATH, or HERMES_COPILOT_ACP_COMMAND points to a nonexistent or non-executable file. Popen raises FileNotFoundError and this RuntimeError wraps it.","commonSituations":"Copilot CLI not installed; installed locally via npm but not on the shell PATH Hermes sees; HERMES_COPILOT_ACP_COMMAND set to a stale path after an upgrade; using the deprecated `gh copilot` extension name.","solutions":["Install the new CLI: npm install -g @github/copilot, then verify with copilot --help.","If installed but not found, set export HERMES_COPILOT_ACP_COMMAND=/path/to/copilot (or COPILOT_CLI_PATH).","Confirm the command is executable (which copilot; chmod +x if needed).","Alternatively switch to the non-ACP 'copilot' provider via hermes setup, which hits the Copilot API directly with a subscription token."],"exampleFix":"# before\n# copilot not installed → FileNotFoundError at spawn\n# after\nnpm install -g @github/copilot\ncopilot --help   # verify\n# or pin explicitly:\nexport HERMES_COPILOT_ACP_COMMAND=/usr/local/bin/copilot","handlingStrategy":"validation","validationCode":"import shutil\n\ndef copilot_available(command: str = 'copilot') -> bool:\n    return shutil.which(command) is not None","typeGuard":null,"tryCatchPattern":"try:\n    client = CopilotACPClient(...)\nexcept RuntimeError as e:\n    if 'Could not start Copilot ACP command' in str(e):\n        # install CLI or set HERMES_COPILOT_ACP_COMMAND, then retry\n        ...","preventionTips":["Verify 'copilot' resolves on PATH before selecting the copilot_acp provider","Pin HERMES_COPILOT_ACP_COMMAND to the absolute binary path in automation environments","Install via npm install -g @github/copilot and confirm with copilot --help"],"tags":["copilot","acp","startup","environment"],"backgroundTag":null,"analyzedSha":"c896c09c42910c584c4c7d2325b58c14713ea42c","analyzedAt":"2026-08-14T17:18:01.089Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}