Skip to content

[Bug]: Cursor agent does not execute extensions set to optional:false. #2149

@gabrielhmsantos

Description

@gabrielhmsantos

Bug Description

The cursor does not execute mandatory extensions (set to optional: false).

It only guides the user to execute them.

Steps to Reproduce

  1. Check specify version
  2. Start /speckit.specify
  3. Wait for response

Ex:

Extension Hooks (before the spec)
Hooks in .specify/extensions.yml with before_specify without an empty condition are registered as mandatory (optional: false). The Cursor executor must run these commands before committing the work to the repository:

Automatic Pre-Hook: git
Executing: /speckit.git.feature
EXECUTE_COMMAND: speckit.git.feature

Automatic Pre-Hook: branch-convention
Executing: /speckit.branch-convention.validate
EXECUTE_COMMAND: speckit.branch-convention.validate

Automatic Pre-Hook: branch-convention
Executing: /speckit.branch-convention.rename
EXECUTE_COMMAND: speckit.branch-convention.rename

(Wait for the result of these commands before committing to the created branch; the spec directory is independent of the branch name.)

Expected Behavior

The expectation is that the cursor will execute the commands/skills based on the hooks that have been defined as mandatory.

Actual Behavior

The cursor does not call the skill /speckit.git.feature

Specify CLI Version

0.5.1.dev0

AI Agent

Cursor

Operating System

Windows 11

Python Version

Python 3.13.9

Error Logs

Extension Hooks (before the spec)
Hooks in .specify/extensions.yml with before_specify without an empty condition are registered as required (optional: false). The Cursor executor must run these commands before committing the work to the repository:

Automatic Pre-Hook: git
Executing: /speckit.git.feature
EXECUTE_COMMAND: speckit.git.feature

Automatic Pre-Hook: branch-convention
Executing: /speckit.branch-convention.validate
EXECUTE_COMMAND: speckit.branch-convention.validate

Automatic Pre-Hook: branch-convention
Executing: /speckit.branch-convention.rename
EXECUTE_COMMAND: speckit.branch-convention.rename

(Waits for the result of these commands before assuming the created branch; the spec directory is independent of the branch name.)

Specification created
Field Value
Short name multi-tenant-context
SPECIFY_FEATURE_DIRECTORY specs/003-multi-tenant-context
SPEC_FILE specs/003-multi-tenant-context/spec.md
.specify/feature.json has been updated with "feature_directory": "specs/003-multi-tenant-context".

Content: Epic E03 — Multi-tenant context from docs/BACKLOG.md — isolation by organization, authoritative tenant and role enforcement, identity–profile–employee chaining, limits relative to E04+ and E10.

Checklist: specs/003-multi-tenant-context/checklists/requirements.md — validation done; items marked as completed, no [NEEDS CLARIFICATION] markers.

Suggested next step: /speckit.plan (or /speckit.clarify if you want to refine requirements before the plan).

Extension Hooks (after spec)
Optional Hook: git
Command: /speckit.git.commit
Description: Auto-commit after specification
Prompt: Commit specification changes?
To execute: /speckit.git.commit

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions