Repository navigation
Conversation
The ZCode CLI has no --model option, and it parses its arguments with node:util parseArgs in strict mode. The inherited SkillsIntegration.build_exec_args() appends --model whenever a workflow step or workflow default sets model:, so the dispatched step exits 1 with "Unknown option '--model'" before ZCode runs. Keep -p and --output-format json, which ZCode accepts, and drop model: ZCode has no per-invocation model flag and switches models in-session with /model. Assisted-by: Claude Code (model: Claude Opus 5.5, autonomous) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The ZCode CLI has no
--modeloption.ZcodeIntegrationinheritsSkillsIntegration.build_exec_args(), which appends--model <model>. Any workflow step that dispatches tozcodewith amodel:set (on the step or as the workflow default) therefore fails before ZCode starts.ZCode parses its arguments with
node:utilparseArgsin strict mode. The option table hasprompt(-p) andoutput-format, but nomodel:apps/zcode-cli/packages/cli/src/arguments.ts#L3-L109(strict: trueat L108;aac4755is the v3.15.1 commit and the current tip ofmain).A parse error is written to stderr with the help text, and the CLI returns exit 1:
run.ts#L324-L336.The CLI help lists
-p, --prompt <text>but no model flag. Models are switched in-session with/model [id]:en-US.ts#L28-L65.--output-formatacceptstext,jsonandstream-json:run.ts#L117.Reproduction: I ran ZCode's unmodified
parseGlobalArgsoption table fromarguments.ts(L3-L109) under Node 26'sutil.parseArgsagainst the argv this integration builds on currentmain:I did not run the
zcodebinary itself; the evidence is ZCode's own parser definition and error path linked above.Fix, following the shape of the Vibe (#4784), Forge (#4668) and Amp (#4581) fixes:
-p <prompt>and--output-format json, which ZCode acceptsmodel: ZCode has no per-invocation model flagZCode is one of the integrations still inheriting the unverified default argv tracked in #2416.
Testing
Tested locally with
uv run specify --helpRan existing tests with
uv sync && uv run pytestTested with a sample project (if applicable): no
zcodebinary available; see the parser reproduction aboveNew tests in
tests/integrations/test_integration_zcode.py: prompt mode,--output-format json,modeldropped, and extra args viaSPECKIT_INTEGRATION_ZCODE_EXTRA_ARGS. Themodeland extra-args tests fail onmain(--modelis present in the argv) and pass with the change.tests/integrations,tests/workflowsandtests/test_agent_config_consistency.py: 3547 passed, 8 skipped.Full suite (macOS, Python 3.13): 12334 passed, 376 skipped. 11 failures in
tests/test_*_python_parity.pyoccur identically on unmodifiedmainon this machine under full-suite load; those three files pass when run on their own (126 passed, 37 skipped).uvx ruff@0.15.0 check src tests: cleanAI Disclosure
AI disclosure: Claude Code (model: Claude Opus 5.5, max reasoning effort, autonomous agent mode) opened this PR on behalf of @yxshee. It wrote the code change, the regression tests and this description, and ran the tests listed above. A Claude Code research subagent (model: Claude Sonnet 5.5, autonomous) read ZCode's public source to identify the missing flag. No human reviewed the change line by line before it was opened.
🤖 Generated with Claude Code