You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When running specify workflow run speckit --input integration=cursor-agent ... (or with cursor-agent as the project's default integration), the runner fails with:
Cannot dispatch command 'speckit.specify': integration 'cursor-agent' CLI not found or not installed.
Install the CLI tool or check 'specify integration list'.
The message is misleading on two counts:
The cursor-agent CLI is installed (cursor-agent --version returns 2026.05.16-0338208 at C:\Users\eman\AppData\Local\cursor-agent\cursor-agent.cmd, and is on PATH).
After PR feat(cursor-agent): migrate commands to skills under .cursor/skills #2156 ("feat(cursor-agent): migrate commands to skills under .cursor/skills", merged 2026-04-10), the cursor-agent integration was redesigned to be IDE-only: the Cursor Agent inside the IDE reads .cursor/skills/speckit-*.md directly, and is not intended to be spawned by the CLI workflow runner.
specify integration list already marks cursor-agent as CLI Required = no (IDE), which is consistent with the new design. The runner's error message, however, still tells the user to "install the CLI tool", which is both wrong (already installed) and unhelpful (installing more CLIs cannot fix an integration that is IDE-only by design).
Steps to Reproduce
Install Spec Kit and initialize a project with the cursor-agent integration:
{
"event": "step_failed",
"step_id": "specify",
"error": "Cannot dispatch command 'speckit.specify': integration 'cursor-agent' CLI not found or not installed. Install the CLI tool or check 'specify integration list'.",
"timestamp": "..."
}
Expected Behavior
When the requested integration is classified as CLI Required = no (IDE), the runner should produce a design-consistent, actionable error such as:
The 'cursor-agent' integration is IDE-only (per PR #2156) and cannot be dispatched by `specify workflow run`.
To use this workflow with cursor-agent, run the steps inside Cursor IDE by invoking the corresponding skill:
- /speckit-specify
- /speckit-plan
- /speckit-tasks
- /speckit-implement
Alternatively, install a CLI-capable integration (e.g. `claude`, `codex`, `gemini`) and pass `--input integration=<name>`.
Additionally, specify workflow info speckit (or a pre-flight check on specify workflow run) could surface that the project's default integration (cursor-agent) is not in the workflow's declared requires.integrations.any: ["copilot", "claude", "gemini"].
Actual Behavior
The runner fails with the misleading "CLI not found or not installed. Install the CLI tool" message above. There is no mention that cursor-agent is IDE-only, no mention of the /speckit-* skill alternative, and no hint of the requires.integrations.any mismatch.
To rule out a runner-wide problem, I installed the claude integration and re-ran the same workflow. The runner correctly dispatched claude CLI (the only failure was the actual CLI's own stderr, Credit balance is too low, which has nothing to do with dispatch). This confirms the workflow runner's dispatch chain is healthy for CLI Required = yes integrations; the failure is specific to the IDE-only classification of cursor-agent.
Specify CLI Version
0.8.7 and 0.8.11 — both reproduce. specify self upgrade 0.8.7 → 0.8.11 did not change the behavior, so the issue is present on the latest release at the time of writing.
AI Agent
Cursor
(cursor-agent CLI v2026.05.16-0338208, but per the new design the IDE Agent itself is the consumer of the speckit-* skills.)
Operating System
Windows 10 (10.0.26200), PowerShell 7
Python Version
Python 3.12.13 (installed by uv tool for the specify-cli virtualenv)
Error Logs
$ specify workflow run speckit --input "integration=cursor-agent" --input "spec=..." --input "scope=full"
Running workflow: Full SDD Cycle (speckit)
Version: 1.0.0
▸ speckit.specify …
Status: failed
Run ID: <id>
# .specify/workflows/runs/<id>/log.jsonl
{"event":"step_failed","step_id":"specify","error":"Cannot dispatch command 'speckit.specify': integration 'cursor-agent' CLI not found or not installed. Install the CLI tool or check 'specify integration list'.","timestamp":"..."}
Additional Context
Suggested fixes
Error message — When the requested integration has CLI Required = no (IDE), return the IDE-only message above instead of "CLI not found / install the CLI tool".
Documentation — In docs/reference/integrations.md, explicitly state that IDE-only integrations (currently cursor-agent, and presumably any future IDE-only ones) cannot be used with specify workflow run, and link to the manual /speckit-* skill flow.
workflow info / pre-flight — Show a compatibility note when the workflow's declared requires.integrations.any does not include the project's default integration. For speckit:
Users picking cursor-agent as the default integration (a prominent choice in the Cursor IDE) hit a dead end on their very first specify workflow run. The current error message actively misleads troubleshooting toward "install the CLI", which is both factually wrong and design-wise unhelpful.
Bug Description
When running
specify workflow run speckit --input integration=cursor-agent ...(or withcursor-agentas the project's default integration), the runner fails with:The message is misleading on two counts:
cursor-agentCLI is installed (cursor-agent --versionreturns2026.05.16-0338208atC:\Users\eman\AppData\Local\cursor-agent\cursor-agent.cmd, and is onPATH).cursor-agentintegration was redesigned to be IDE-only: the Cursor Agent inside the IDE reads.cursor/skills/speckit-*.mddirectly, and is not intended to be spawned by the CLI workflow runner.specify integration listalready markscursor-agentasCLI Required = no (IDE), which is consistent with the new design. The runner's error message, however, still tells the user to "install the CLI tool", which is both wrong (already installed) and unhelpful (installing more CLIs cannot fix an integration that is IDE-only by design).Steps to Reproduce
Install Spec Kit and initialize a project with the
cursor-agentintegration:Verify the
cursor-agentCLI is present and runnable:Run the bundled
speckitworkflow withcursor-agentas the integration:The first step
speckit.specifyfails immediately, and the workflow stops withStatus: failed.Inspect
.specify/workflows/runs/<run_id>/log.jsonl:{ "event": "step_failed", "step_id": "specify", "error": "Cannot dispatch command 'speckit.specify': integration 'cursor-agent' CLI not found or not installed. Install the CLI tool or check 'specify integration list'.", "timestamp": "..." }Expected Behavior
When the requested integration is classified as
CLI Required = no (IDE), the runner should produce a design-consistent, actionable error such as:Additionally,
specify workflow info speckit(or a pre-flight check onspecify workflow run) could surface that the project's default integration (cursor-agent) is not in the workflow's declaredrequires.integrations.any: ["copilot", "claude", "gemini"].Actual Behavior
The runner fails with the misleading
"CLI not found or not installed. Install the CLI tool"message above. There is no mention thatcursor-agentis IDE-only, no mention of the/speckit-*skill alternative, and no hint of therequires.integrations.anymismatch.To rule out a runner-wide problem, I installed the
claudeintegration and re-ran the same workflow. The runner correctly dispatchedclaudeCLI (the only failure was the actual CLI's own stderr,Credit balance is too low, which has nothing to do with dispatch). This confirms the workflow runner's dispatch chain is healthy forCLI Required = yesintegrations; the failure is specific to the IDE-only classification ofcursor-agent.Specify CLI Version
0.8.7and0.8.11— both reproduce.specify self upgrade 0.8.7 → 0.8.11did not change the behavior, so the issue is present on the latest release at the time of writing.AI Agent
Cursor
(
cursor-agentCLI v2026.05.16-0338208, but per the new design the IDE Agent itself is the consumer of thespeckit-*skills.)Operating System
Windows 10 (10.0.26200), PowerShell 7
Python Version
Python 3.12.13 (installed by
uv toolfor thespecify-clivirtualenv)Error Logs
Additional Context
Suggested fixes
Error message — When the requested integration has
CLI Required = no (IDE), return the IDE-only message above instead of "CLI not found / install the CLI tool".Documentation — In
docs/reference/integrations.md, explicitly state that IDE-only integrations (currentlycursor-agent, and presumably any future IDE-only ones) cannot be used withspecify workflow run, and link to the manual/speckit-*skill flow.workflow info/ pre-flight — Show a compatibility note when the workflow's declaredrequires.integrations.anydoes not include the project's default integration. Forspeckit:cursor-agentis not listed, which is consistent with the IDE-only design post-feat(cursor-agent): migrate commands to skills under .cursor/skills #2156. A pre-flight warning would let users discover the mismatch before hitting the misleading dispatch error.Related PRs / issues
feat(cursor-agent): migrate commands to skills under .cursor/skills) — the design decision behind this behavior.$ARGUMENTSissues, not related.Importance
Users picking
cursor-agentas the default integration (a prominent choice in the Cursor IDE) hit a dead end on their very firstspecify workflow run. The current error message actively misleads troubleshooting toward "install the CLI", which is both factually wrong and design-wise unhelpful.