Repository navigation
Replies: 4 comments
|
Addendum from the reporter, in case it saves a round trip: I have a working local override (pnpm Happy to send a PR with the |
|
Confirmed on The pin
"@openai/codex": "0.153.4"Exact, no caret, no range — so it can never float. Why no config or env can point it elsewhere
const codexPackageJsonPath = createRequire(import.meta.url).resolve('@openai/codex/package.json') // :44
const codexPackageManifest = JSON.parse(readFileSync(codexPackageJsonPath, 'utf8')) as CodexPackageManifest
const CODEX_PACKAGE_BIN = resolve(dirname(codexPackageJsonPath), codexPackageManifest.bin.codex) // :50-53
...
return [process.execPath, CODEX_PACKAGE_BIN, 'app-server', '--stdio'] // :136Both are That distinction matters for the patch you offered: a On the failure message The One correction to a detail in your report
|
|
Adding an independent reproduction plus a verified fix, in case it helps move this forward. Environment differs slightly from the report: macOS 27.0.1 arm64, DSH Desktop 0.2.1-rc.2, plugin Reproduction
$ <plugin>/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/bin/codex \
exec --skip-git-repo-check -m gpt-6.1-sol -s read-only "Reply with exactly: ok"
model: gpt-6.1-sol
warning: Model metadata for `gpt-6.1-sol` not found. Defaulting to fallback metadata; ...
ERROR: {"type":"error","status":400,"error":{"type":"invalid_request_error",
"message":"The 'gpt-6.1-sol' model is not supported when using Codex with a ChatGPT account."}}Verified fix: swapping the vendored binary is enoughI replaced only the platform package's vendored binary directory (
So in addition to Control group on the same account and config: 0.153.4 + SuggestionPinning to 0.163.x (or a matrix-driven update mechanism rather than an exact pin) looks sufficient for this path, and the PR offer above seems worth taking. The Windows workaround in #9346 (patching |
|
Two things from the original reporter, both cheap to add to the record. 1. A clean-room control, in case anyone still suspects a local config problemI re-ran the comparison with an isolated
The middle row is the one that isolates the variable: same binary, same auth, same account, only the slug changes. So this is not a broken dotfile, not auth, not network — it is purely client version vs. model catalog, which matches @xiaopengli2003's control group. 2. rc.1 → rc.2 upgrade behaviour, since that was an open questionI kept the pnpm override through the 0.2.1-rc.1 → 0.2.1-rc.2 upgrade to see what the updater does to it:
A caveat on the vendored-binary swapReplacing I agree with @PerryLink that the class-level fix is lazy, overridable resolution (config → env → pinned package), and that a bump alone re-breaks on the next model release. Happy to send the |
Uh oh!
There was an error while loading. Please reload this page.
subagent_codexfails on any model newer than the pinned Codex CLIPackage:
@deepseek-ai/dsh-subagent-codex@0.2.1-rc.1DSH: 0.2.1-rc.1 (macOS 26 arm64)
Codex desktop on the same machine: 0.163.0-alpha.10.2
Symptom
Calling the
subagent_codextool always fails, with no actionable detail:The underlying cause only shows up when you run the plugin's own Codex binary by hand:
Root cause
The plugin hard-pins
"@openai/codex": "0.153.4"and resolves the binary from its ownmodule scope:
There is no config or environment option to point it at another binary, so it always uses
the pinned version — not the Codex CLI the user actually has installed.
When the plugin config does not set
model, the child Codex falls back to~/.codex/config.toml, i.e. whatever model the user's desktop Codex is on. On currentbuilds that is a slug the pinned 0.153.4 does not know, so every turn fails at the server
with a 400. The user sees only
product-error, which sends them looking at auth and network.Reproduction
Suggested fixes
(0.163.x at the time of writing), or resolve the user's installed Codex instead of pinning.
arbitrary
config.tomlmodel.stage: turn / category: product-errorhides aperfectly clear 400 that names both the model and the cause.
Workaround
Add a pnpm override in the profile and point the plugin at a model the old CLI supports:
The second form alone survives upgrades, but costs an older model; the override keeps model
parity and can be clobbered by a reinstall.
Still present on main
Checked
main(0.2.1-rc.2):packages/subagent/subagent-codex/package.jsonstill pins"@openai/codex": "0.153.4".All reactions