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
{{ message }}
Repository navigation
plugins: decide tool-restriction behavior in Cursor, which ignores disallowed-tools and agent tool lists #12483
Cursor does not enforce our tool restrictions. In Cursor a skill or plugin agent that Claude Code limits can still use the tools it was meant to be denied.
Size: Medium
Complexity: Medium
Uncertainty: Knowable
Flags: intent
Blocked by: none
Understood: Cursor ignores disallowed-tools on skills and disallowedTools/tools: on agents, so tool limits that Claude Code enforces do not hold there. You want a decision on what Cursor users can rely on, recorded where the rollout reads it. The issue lists three options and picks none, so this needs an owner choice.
Related, not duplicates: #4 style Cursor decisions on hooks and when_to_use (see the open Cursor issues on hook events and trigger text).
Which approach should we take? RECOMMENDED: document tool limits as Claude Code-only, and back the read-only reviewer agents with a PreToolUse hook only if a hook-based check proves reliable in Cursor. Basis: it keeps one plugin source, and the issue puts Cursor-specific keys and forks out of scope.
Is Cursor's readonly agent field allowed? RECOMMENDED: no. Basis: it is a Cursor-specific key and the issue treats it as out of scope unless the owner allows it.
To answer, post a comment that starts with this line:
Refinement. A read-only run explored this repository, searched its issues and pull requests, and read the allowed docs to draft what follows. On an issue a listed human filed, it counts as the issue's spec once posted, while unedited; it is still model text, so check it.
Intended outcome: Tool limits (disallowed-tools, disallowedTools, agent tools:) are documented as Claude Code-only, with a hook-backed read-only check for the reviewer agents only if one is shown to hold in Cursor.
Which approach should Cursor users be told to rely on: treat tool limits as Claude Code-only and document that, back read-only cases with a PreToolUse hook, or both?
RECOMMENDED: Document tool limits as Claude Code-only. Add hook backing for the read-only reviewer agents only after a probe shows a PreToolUse deny holds in Cursor. Basis: judgment
Is Cursor's readonly agent field allowed, even though it is a Cursor-specific key?
RECOMMENDED: No. Keep one plugin source and leave the field out. Basis: judgment
Where should the decision be recorded for the day-job rollout to read it?
RECOMMENDED: Add a Cursor section to docs/upstream/claude-code.md, or to the rollout doc if one exists. The issue does not name the file, so the owner should pick it. Basis: .base/docs/upstream/claude-code.md:39
If the hook route is chosen, which agents count as read-only and must be hook-backed: all 31 agents with tools: allowlists, or only the reviewers in review, planning, testing, multi-agent and discovery?
RECOMMENDED: Only the read-only reviewers, plus the two disallowedTools agents (researcher, intent-tracer). A hook for every allowlist is too broad. Basis: judgment
Does per-job disallowed-tools use (Q561) proceed on the assumption that it holds only in Claude Code?
RECOMMENDED: Yes. Q561 should state that it is Claude Code-enforced only. Basis: judgment
Sources read
/home/runner/work/claude-code-plugins/claude-code-plugins/refine-data/context.json: the issue body gives the Cursor probe result, the affected skills and agents, and the three options. No **Decision recorded.** comment exists.
.base/docs/upstream/claude-code.md:39: the upstream-behavior table is the likely place for a recorded Cursor limitation.
.base/plugins/harness-config/CHANGELOG.md:305: audit-pass uses disallowed-tools as a narrowing aid, and the read-only contract is instruction-held.
To answer, post a comment that starts with this line:
**Decision recorded.** <answer>
Automated refinement by the lanes App. Answer with a comment whose first line is **Decision recorded.**.
Decision recorded. Accept the triage recommendations, with one placement choice. (1) Document tool limits (disallowed-tools, disallowedTools, agent tools:, skill allowed-tools) as enforced by Claude Code only. Add PreToolUse hook backing for read-only agents only after a probe shows a PreToolUse deny holds in Cursor. (2) No Cursor-specific readonly field: one plugin source. (3) Record it in one marketplace-level Cursor compatibility note, the same file #12484 creates (docs/cursor-compatibility.md), so Cursor facts have a single home. (4) If hook backing is later added, it covers the read-only reviewer agents plus researcher and intent-tracer, not all 31 allowlists. (5) Q561's per-job disallowed-tools states that only Claude Code enforces it. Basis: #7556 probe (paired runs showed both keys ignored). Decided under the owner's standing direction (decide from evidence; no intent, security or cost question here: these limits scope agent behavior and are not a secret or token boundary).
This records a re-fire of an earlier refusal, not a new refusal. The lanes kill switch stopped run 41522469600, the work-resolve-issue run that agent-ready started, before it did any work; that run ended at 2026-11-02T20:52:24Z. work-unblock has now removed and added agent-ready back to start a fresh run. A kill-switch refusal is no fault in this issue or the lanes, so it never counts against later re-fires; after limits.limit-stops-per-issue of them since a person last added agent-ready or a run last reported, work-unblock waits longer before each one, up to 24 hours.
The work-resolve-issue lane stopped partway through this issue and needs a person.
Reason: security
Why, in the run's own words:
The run did not start: the issue's title or body changed after agent-ready was added, so the runner wrote no issue file for the skill and no model ran.
Activity
github-actions commentedon Nov 2, 2026
Proposed work class: none
Size: Medium
Complexity: Medium
Uncertainty: Knowable
Flags: intent
Blocked by: none
Understood: Cursor ignores
disallowed-toolson skills anddisallowedTools/tools:on agents, so tool limits that Claude Code enforces do not hold there. You want a decision on what Cursor users can rely on, recorded where the rollout reads it. The issue lists three options and picks none, so this needs an owner choice.Related, not duplicates: #4 style Cursor decisions on hooks and
when_to_use(see the open Cursor issues on hook events and trigger text).PreToolUsehook only if a hook-based check proves reliable in Cursor. Basis: it keeps one plugin source, and the issue puts Cursor-specific keys and forks out of scope.readonlyagent field allowed? RECOMMENDED: no. Basis: it is a Cursor-specific key and the issue treats it as out of scope unless the owner allows it.To answer, post a comment that starts with this line:
Automated triage. A maintainer reviews it.
melodic-automation-lanes commentedon Nov 2, 2026
The triage verdict left this issue at
status: needs-decision:melodic-automation-lanes commentedon Nov 2, 2026
Refinement. A read-only run explored this repository, searched its issues and pull requests, and read the allowed docs to draft what follows. On an issue a listed human filed, it counts as the issue's spec once posted, while unedited; it is still model text, so check it.
Intended outcome: Tool limits (
disallowed-tools,disallowedTools, agenttools:) are documented as Claude Code-only, with a hook-backed read-only check for the reviewer agents only if one is shown to hold in Cursor.Related work
Open questions
RECOMMENDED: Document tool limits as Claude Code-only. Add hook backing for the read-only reviewer agents only after a probe shows a PreToolUse deny holds in Cursor. Basis: judgment
readonlyagent field allowed, even though it is a Cursor-specific key?RECOMMENDED: No. Keep one plugin source and leave the field out. Basis: judgment
RECOMMENDED: Add a Cursor section to docs/upstream/claude-code.md, or to the rollout doc if one exists. The issue does not name the file, so the owner should pick it. Basis: .base/docs/upstream/claude-code.md:39
tools:allowlists, or only the reviewers in review, planning, testing, multi-agent and discovery?RECOMMENDED: Only the read-only reviewers, plus the two
disallowedToolsagents (researcher, intent-tracer). A hook for every allowlist is too broad. Basis: judgmentdisallowed-toolsuse (Q561) proceed on the assumption that it holds only in Claude Code?RECOMMENDED: Yes. Q561 should state that it is Claude Code-enforced only. Basis: judgment
Sources read
**Decision recorded.**comment exists.disallowed-toolsas a narrowing aid, and the read-only contract is instruction-held.To answer, post a comment that starts with this line:
Automated refinement by the lanes App. Answer with a comment whose first line is
**Decision recorded.**.kyle-sexton commentedon Nov 2, 2026
Decision recorded. Accept the triage recommendations, with one placement choice. (1) Document tool limits (
disallowed-tools,disallowedTools, agenttools:, skillallowed-tools) as enforced by Claude Code only. Add PreToolUse hook backing for read-only agents only after a probe shows a PreToolUse deny holds in Cursor. (2) No Cursor-specificreadonlyfield: one plugin source. (3) Record it in one marketplace-level Cursor compatibility note, the same file #12484 creates (docs/cursor-compatibility.md), so Cursor facts have a single home. (4) If hook backing is later added, it covers the read-only reviewer agents plusresearcherandintent-tracer, not all 31 allowlists. (5) Q561's per-jobdisallowed-toolsstates that only Claude Code enforces it. Basis: #7556 probe (paired runs showed both keys ignored). Decided under the owner's standing direction (decide from evidence; no intent, security or cost question here: these limits scope agent behavior and are not a secret or token boundary).melodic-automation-lanes commentedon Nov 2, 2026
This records a re-fire of an earlier refusal, not a new refusal. The lanes kill switch stopped run 41522469600, the work-resolve-issue run that
agent-readystarted, before it did any work; that run ended at 2026-11-02T20:52:24Z. work-unblock has now removed and addedagent-readyback to start a fresh run. A kill-switch refusal is no fault in this issue or the lanes, so it never counts against later re-fires; after limits.limit-stops-per-issue of them since a person last addedagent-readyor a run last reported, work-unblock waits longer before each one, up to 24 hours.github-actions commentedon Nov 2, 2026
github-actions commentedon Nov 2, 2026
melodic-automation-lanes commentedon Nov 2, 2026
The work-resolve-issue lane stopped partway through this issue and needs a person.
Reason:
securityWhy, in the run's own words:
Run: https://github.com/melodic-software/claude-code-plugins/actions/runs/41523578084
To retry, remove
needs-humanand addagent-readyagain.