summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2026-04-17 16:27:32 -0500
committerGitHub <[email protected]>2026-04-17 16:27:32 -0500
commit0068ccec35493e2657678a4ab0654a278bd14685 (patch)
treedce1fcd0d9c14470f6dfa1eb97adad6a22f56091
parent89e8994fd15c4ac1235930a07e0b6e37254df22b (diff)
downloadopencode-0068ccec35493e2657678a4ab0654a278bd14685.tar.gz
opencode-0068ccec35493e2657678a4ab0654a278bd14685.zip
fix: ensure copilot model list filters out disabled models (#23176)
-rw-r--r--packages/opencode/src/plugin/github-copilot/copilot.ts1
-rw-r--r--packages/opencode/src/plugin/github-copilot/models.ts9
2 files changed, 8 insertions, 2 deletions
diff --git a/packages/opencode/src/plugin/github-copilot/copilot.ts b/packages/opencode/src/plugin/github-copilot/copilot.ts
index c9b7e3c1c..c018f72bd 100644
--- a/packages/opencode/src/plugin/github-copilot/copilot.ts
+++ b/packages/opencode/src/plugin/github-copilot/copilot.ts
@@ -1,6 +1,5 @@
import type { Hooks, PluginInput } from "@opencode-ai/plugin"
import type { Model } from "@opencode-ai/sdk/v2"
-import { Installation } from "@/installation"
import { InstallationVersion } from "@/installation/version"
import { iife } from "@/util/iife"
import { Log } from "../../util"
diff --git a/packages/opencode/src/plugin/github-copilot/models.ts b/packages/opencode/src/plugin/github-copilot/models.ts
index 71d21afbe..0aac0d3f5 100644
--- a/packages/opencode/src/plugin/github-copilot/models.ts
+++ b/packages/opencode/src/plugin/github-copilot/models.ts
@@ -10,6 +10,11 @@ export const schema = z.object({
// every version looks like: `{model.id}-YYYY-MM-DD`
version: z.string(),
supported_endpoints: z.array(z.string()).optional(),
+ policy: z
+ .object({
+ state: z.string().optional(),
+ })
+ .optional(),
capabilities: z.object({
family: z.string(),
limits: z.object({
@@ -122,7 +127,9 @@ export async function get(
})
const result = { ...existing }
- const remote = new Map(data.data.filter((m) => m.model_picker_enabled).map((m) => [m.id, m] as const))
+ const remote = new Map(
+ data.data.filter((m) => m.model_picker_enabled && m.policy?.state !== "disabled").map((m) => [m.id, m] as const),
+ )
// prune existing models whose api.id isn't in the endpoint response
for (const [key, model] of Object.entries(result)) {