-
fix(cli): handle incompatible Codex plugin commands (#3845)
发布于
2026-07-15 03:18:33 +00:00 Summary
- classify detected Claude Code and Codex hosts as supported or
unsupported before plugin inspection - verify both marketplace and plugin-list JSON capabilities; retain the
Codex 0.139.0 minimum - in automatic mode, skip unsupported hosts and continue with supported
hosts - honor
--if-presentwhen automatic detection leaves only unsupported
hosts - fail before mutation when no supported host remains without
--if-present, or when an unsupported host is explicitly targeted - turn expected setup, inspection, install, verification, and uninstall
failures into concise setup-specific errors with recovery commands - keep failures nonzero while avoiding generic Effect diagnostics and
command-usage dumps
Deferred follow-up
Install/setup/plugin lifecycle telemetry and direct PostHog delivery are
intentionally out of scope for this compatibility PR. They will be
implemented separately so anonymous first-install events have a working
delivery path.Regression coverage
- unit coverage exercises supported and unsupported Claude/Codex
combinations, explicit targets,--if-present, safe preflight, native
failures, timeouts, malformed responses, and verification failures - Debian CLI E2E covers both unsupported-host directions,
unsupported-only--if-present, and packaged noninteractive failures
with concise output - a fresh isolated macOS HOME matrix covers 16 host/state scenarios
using the exact standalone binary, real skill ZIP installation from a
localhost fixture, PTY transcripts, idempotence, uninstall, and
reinstall
Verification
pnpm --filter @composio/cli test: 781 passed, 1 skipped across 83
filespnpm typecheck: 12 tasks passedbash test/install-sh-release-resolution.test.sh: passedpnpm --filter @e2e-tests/cli-setup-plugins test:e2e:cli: 11 passed
in a rebuilt Debian image- fresh isolated macOS HOME/PTY matrix: 16/16 passed
git diff --check: passed
No changeset: this remains an unreleased CLI compatibility change;
stable promotion is separate.下载附件
- classify detected Claude Code and Codex hosts as supported or