From ac72c4d10093e3f75b77aabfa66746933fe9766f Mon Sep 17 00:00:00 2001 From: Ahmed Abushagur Date: Fri, 27 Mar 2026 00:31:40 -0700 Subject: [PATCH] fix: temporarily disable Cursor CLI agent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cursor CLI uses a proprietary ConnectRPC protocol and validates API keys against Cursor's own servers — it cannot route through OpenRouter. All infra (scripts, setup code, matrix entries) is preserved for re-enabling when Cursor adds BYOK/custom endpoint support. Adds `disabled` field to AgentDef and filters disabled agents from the picker via agentKeys(). Co-Authored-By: Claude Opus 4.6 (1M context) --- manifest.json | 2 ++ packages/cli/package.json | 2 +- packages/cli/src/manifest.ts | 6 +++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/manifest.json b/manifest.json index a1418d210..d79549a71 100644 --- a/manifest.json +++ b/manifest.json @@ -306,6 +306,8 @@ ] }, "cursor": { + "disabled": true, + "disabled_reason": "Cursor CLI uses a proprietary protocol (ConnectRPC) and validates API keys against Cursor's own servers. Cannot route through OpenRouter. Re-enable when Cursor adds BYOK/custom endpoint support for agent mode.", "name": "Cursor CLI", "description": "Cursor's terminal-based AI coding agent — autonomous coding with plan, agent, and ask modes", "url": "https://cursor.com/cli", diff --git a/packages/cli/package.json b/packages/cli/package.json index 467c18807..d371f2b80 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@openrouter/spawn", - "version": "0.27.1", + "version": "0.27.2", "type": "module", "bin": { "spawn": "cli.js" diff --git a/packages/cli/src/manifest.ts b/packages/cli/src/manifest.ts index 4a0ffeb52..bda9e6ff6 100644 --- a/packages/cli/src/manifest.ts +++ b/packages/cli/src/manifest.ts @@ -43,6 +43,8 @@ export interface AgentDef { category?: string; tagline?: string; tags?: string[]; + disabled?: boolean; + disabled_reason?: string; } export interface CloudDef { @@ -280,7 +282,9 @@ export async function loadManifest(forceRefresh = false): Promise { } export function agentKeys(m: Manifest): string[] { - return Object.keys(m.agents).sort((a, b) => (m.agents[b].github_stars ?? 0) - (m.agents[a].github_stars ?? 0)); + return Object.keys(m.agents) + .filter((k) => !m.agents[k].disabled) + .sort((a, b) => (m.agents[b].github_stars ?? 0) - (m.agents[a].github_stars ?? 0)); } export function cloudKeys(m: Manifest): string[] {