From 053839938b7498342763b50e6610d562686356eb Mon Sep 17 00:00:00 2001 From: Hector Flores Date: Wed, 28 Jan 2026 16:57:57 -0600 Subject: [PATCH] fix: copilot-cli integration --- docs/providers/github-copilot-cli.md | 8 -------- src/agents/cli-backends.ts | 5 +++-- src/agents/cli-runner/helpers.ts | 6 +++++- src/agents/model-selection.ts | 1 + src/config/types.agent-defaults.ts | 2 ++ 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/providers/github-copilot-cli.md b/docs/providers/github-copilot-cli.md index c16b5ed42..34d975d85 100644 --- a/docs/providers/github-copilot-cli.md +++ b/docs/providers/github-copilot-cli.md @@ -32,18 +32,10 @@ Or via Homebrew: brew install github/copilot/copilot ``` -Or use the `gh copilot` extension: - -```bash -gh extension install github/gh-copilot -``` - Verify installation: ```bash copilot --help -# or -gh copilot --help ``` ## Quick start diff --git a/src/agents/cli-backends.ts b/src/agents/cli-backends.ts index 2ebb78cd7..f448cf04b 100644 --- a/src/agents/cli-backends.ts +++ b/src/agents/cli-backends.ts @@ -85,10 +85,11 @@ const DEFAULT_CODEX_BACKEND: CliBackendConfig = { const DEFAULT_COPILOT_CLI_BACKEND: CliBackendConfig = { command: "copilot", - args: ["-p"], - resumeArgs: ["-p", "--resume", "{sessionId}"], + args: ["--allow-all-tools"], + resumeArgs: ["--allow-all-tools", "--resume", "{sessionId}"], output: "text", input: "arg", + promptArg: "-p", modelArg: "--model", modelAliases: COPILOT_CLI_MODEL_ALIASES, sessionIdFields: ["session_id", "sessionId"], diff --git a/src/agents/cli-runner/helpers.ts b/src/agents/cli-runner/helpers.ts index 833771a1f..23cd26968 100644 --- a/src/agents/cli-runner/helpers.ts +++ b/src/agents/cli-runner/helpers.ts @@ -445,7 +445,11 @@ export function buildCliArgs(params: { } } if (params.promptArg !== undefined) { - args.push(params.promptArg); + if (params.backend.promptArg) { + args.push(params.backend.promptArg, params.promptArg); + } else { + args.push(params.promptArg); + } } return args; } diff --git a/src/agents/model-selection.ts b/src/agents/model-selection.ts index 8d6db36de..d21c95db2 100644 --- a/src/agents/model-selection.ts +++ b/src/agents/model-selection.ts @@ -36,6 +36,7 @@ export function isCliProvider(provider: string, cfg?: MoltbotConfig): boolean { const normalized = normalizeProviderId(provider); if (normalized === "claude-cli") return true; if (normalized === "codex-cli") return true; + if (normalized === "copilot-cli") return true; const backends = cfg?.agents?.defaults?.cliBackends ?? {}; return Object.keys(backends).some((key) => normalizeProviderId(key) === normalized); } diff --git a/src/config/types.agent-defaults.ts b/src/config/types.agent-defaults.ts index 9c6ce0211..45544926c 100644 --- a/src/config/types.agent-defaults.ts +++ b/src/config/types.agent-defaults.ts @@ -87,6 +87,8 @@ export type CliBackendConfig = { imageArg?: string; /** How to pass multiple images. */ imageMode?: "repeat" | "list"; + /** Flag used to pass the prompt (e.g. -p, --prompt). */ + promptArg?: string; /** Serialize runs for this CLI. */ serialize?: boolean; };