Skip to content

fix: add DestructiveHint and OpenWorldHint to label_write annotations#2728

Open
axelray-dev wants to merge 1 commit into
github:mainfrom
axelray-dev:fix/2723-add-destructive-hint-label-write
Open

fix: add DestructiveHint and OpenWorldHint to label_write annotations#2728
axelray-dev wants to merge 1 commit into
github:mainfrom
axelray-dev:fix/2723-add-destructive-hint-label-write

Conversation

@axelray-dev

Copy link
Copy Markdown

Fixes #2723

Problem

The label_write tool supports a delete method that permanently removes a label and all its associations from every issue/PR in the repository. However, its annotations only set ReadOnlyHint: false -- it does not set DestructiveHint: true or OpenWorldHint: true. MCP clients receive no destructive-operation signal for what is arguably the most destructive label operation available.

Fix

Add DestructiveHint: jsonschema.Ptr(true) and OpenWorldHint: jsonschema.Ptr(true) to the LabelWrite tool annotations, matching the pattern used by other destructive tools in the codebase:

  • actions_run_trigger (actions.go)
  • projects_write (projects.go)
  • discussion_comment_write (discussions.go)
  • remove_sub_issue (issues_granular.go)

Changes

  • pkg/github/labels.go: Add annotation fields to LabelWrite tool definition
  • pkg/github/labels_test.go: Add DestructiveHint assertion in TestWriteLabel
  • pkg/github/__toolsnaps__/label_write.snap: Update snapshot to match
@axelray-dev axelray-dev marked this pull request as ready for review June 19, 2026 04:34
@axelray-dev axelray-dev requested a review from a team as a code owner June 19, 2026 04:34
@axelray-dev axelray-dev force-pushed the fix/2723-add-destructive-hint-label-write branch 2 times, most recently from 6362492 to aede8e7 Compare June 25, 2026 11:02
The label_write tool supports a delete method that permanently removes
a label and all its associations from every issue/PR in the repository.
However, it only set ReadOnlyHint: false and did not signal the
destructive nature of this operation to MCP clients.

Add DestructiveHint: true and OpenWorldHint: true to match the pattern
used by other destructive tools in the codebase (actions_run_trigger,
projects_write, discussion_comment_write, remove_sub_issue).

Fixes github#2723
@axelray-dev axelray-dev force-pushed the fix/2723-add-destructive-hint-label-write branch from aede8e7 to 20f9d88 Compare June 29, 2026 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants