From 7400b525d5252186cdef9d235e5ace377a318f97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20P=C5=99ib=C3=ADk?= Date: Thu, 1 Oct 2026 17:09:19 +0200 Subject: [PATCH] feat: default to gpt-6.1-sol, the switcheroo sidekick model (1.0.6-henderson.4) Tests now drop the host session's CLAUDE_PLUGIN_DATA and CODEX_COMPANION_SESSION_ID, so the suite passes when run from inside Claude Code. Co-Authored-By: Claude Opus 5.5 --- .claude-plugin/marketplace.json | 6 +++--- README.md | 2 +- package-lock.json | 4 ++-- package.json | 2 +- plugins/codex/.claude-plugin/plugin.json | 2 +- plugins/codex/agents/codex-rescue.md | 2 +- plugins/codex/scripts/codex-companion.mjs | 4 ++-- tests/helpers.mjs | 5 +++++ 8 files changed, 16 insertions(+), 11 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 2904c7b85..59ad66b26 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -5,13 +5,13 @@ }, "metadata": { "description": "Codex in Claude Code, routed through claude-switcheroo (henderson-tech fork of openai/codex-plugin-cc).", - "version": "1.0.6-henderson.3" + "version": "1.0.6-henderson.4" }, "plugins": [ { "name": "codex", - "description": "Codex review and delegation, billed to the switcheroo account with the most headroom; gpt-6-sol by default.", - "version": "1.0.6-henderson.3", + "description": "Codex review and delegation, billed to the switcheroo account with the most headroom; gpt-6.1-sol by default.", + "version": "1.0.6-henderson.4", "author": { "name": "OpenAI" }, diff --git a/README.md b/README.md index ff13f4666..aeb71bb15 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Use Codex from inside Claude Code for code reviews or to delegate tasks to Codex > wins. Without switcheroo, or with no switcheroo Codex accounts, it behaves exactly like upstream. > - **Limit failover:** a task or review that dies on "usage limit" retries once on the next account > and says which one. -> - **Defaults:** `gpt-6-sol` at `medium` effort, like switcheroo's `cxx`; `--model` and `--effort` +> - **Defaults:** `gpt-6.1-sol` at `medium` effort, the model of switcheroo's `cxx` and `codex run` sidekick; `--model` and `--effort` > still override. > - **No model pin** on the `codex-rescue` agent: it inherits your session model. > - **No orphaned brokers:** a broker the companion gives up on (missed readiness window, stale diff --git a/package-lock.json b/package-lock.json index 68f0901a7..88a63e0c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@openai/codex-plugin-cc", - "version": "1.0.6-henderson.3", + "version": "1.0.6-henderson.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@openai/codex-plugin-cc", - "version": "1.0.6-henderson.3", + "version": "1.0.6-henderson.4", "license": "Apache-2.0", "devDependencies": { "@types/node": "^25.5.0", diff --git a/package.json b/package.json index 4d8ff893c..e5421d876 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openai/codex-plugin-cc", - "version": "1.0.6-henderson.3", + "version": "1.0.6-henderson.4", "private": true, "type": "module", "description": "Use Codex from Claude Code to review code or delegate tasks.", diff --git a/plugins/codex/.claude-plugin/plugin.json b/plugins/codex/.claude-plugin/plugin.json index 29a385030..6adc22a68 100644 --- a/plugins/codex/.claude-plugin/plugin.json +++ b/plugins/codex/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "codex", - "version": "1.0.6-henderson.3", + "version": "1.0.6-henderson.4", "description": "Use Codex from Claude Code to review code or delegate tasks.", "author": { "name": "OpenAI" diff --git a/plugins/codex/agents/codex-rescue.md b/plugins/codex/agents/codex-rescue.md index 82cfbc44a..dfa46ed71 100644 --- a/plugins/codex/agents/codex-rescue.md +++ b/plugins/codex/agents/codex-rescue.md @@ -26,7 +26,7 @@ Forwarding rules: - Do not inspect the repository, read files, grep, monitor progress, poll status, fetch results, cancel jobs, summarize output, or do any follow-up work of your own. - Do not call `review`, `adversarial-review`, `status`, `result`, or `cancel`. This subagent only forwards to `task`. - Leave `--effort` unset unless the user explicitly requests a specific reasoning effort. -- Leave model unset by default (this fork then runs gpt-6-sol at medium effort). Only add `--model` when the user explicitly asks for a specific model. +- Leave model unset by default (this fork then runs gpt-6.1-sol at medium effort). Only add `--model` when the user explicitly asks for a specific model. - If the user asks for `spark`, map that to `--model gpt-5.3-codex-spark`. - If the user asks for a concrete model name such as `gpt-5.4-mini`, pass it through with `--model`. - Treat `--effort ` and `--model ` as runtime controls and do not include them in the task text you pass through. diff --git a/plugins/codex/scripts/codex-companion.mjs b/plugins/codex/scripts/codex-companion.mjs index cb1d754bf..ac0aff7d1 100644 --- a/plugins/codex/scripts/codex-companion.mjs +++ b/plugins/codex/scripts/codex-companion.mjs @@ -71,8 +71,8 @@ const DEFAULT_STATUS_WAIT_TIMEOUT_MS = 240000; const DEFAULT_STATUS_POLL_INTERVAL_MS = 2000; const VALID_REASONING_EFFORTS = new Set(["none", "minimal", "low", "medium", "high", "xhigh"]); const MODEL_ALIASES = new Map([["spark", "gpt-5.3-codex-spark"]]); -// henderson fork: the same pins as switcheroo's `cxx`; --model / --effort still win. -const DEFAULT_MODEL = "gpt-6-sol"; +// henderson fork: switcheroo's sidekick model (`cxx`, `codex run`) at medium; --model / --effort still win. +const DEFAULT_MODEL = "gpt-6.1-sol"; const DEFAULT_EFFORT = "medium"; // Subcommands that start Codex — they bill an account, so they are routed. const ROUTED_SUBCOMMANDS = new Set(["setup", "review", "adversarial-review", "task", "task-worker", "transfer"]); diff --git a/tests/helpers.mjs b/tests/helpers.mjs index f8814596b..531a088c9 100644 --- a/tests/helpers.mjs +++ b/tests/helpers.mjs @@ -8,6 +8,11 @@ import { spawnSync } from "node:child_process"; // makes those brokers exit shortly after the suite instead of living forever. process.env.CODEX_COMPANION_BROKER_IDLE_MS ??= "30000"; +// A suite run from inside Claude Code inherits the host session's plugin env, +// which re-roots state and filters jobs by that session; the tests assume none. +delete process.env.CLAUDE_PLUGIN_DATA; +delete process.env.CODEX_COMPANION_SESSION_ID; + export function makeTempDir(prefix = "codex-plugin-test-") { return fs.mkdtempSync(path.join(os.tmpdir(), prefix)); }