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
Global --dry-run is silently ignored by most mutating commands, including bulk and relations #48
--dry-run is accepted as a global flag on every subcommand, but only some command modules act on it. On the rest it parses cleanly, prints a result that looks like a preview, and performs the mutation anyway.
The relation was real. Querying it back gave a createdAt matching the moment I ran the command, and I had to relations remove it. Nothing in the output distinguishes this from a genuine preview — "success": true and a populated id read as confirmation either way.
grep -rl dry_run src/commands/ shows which modules handle it:
Contains mutations but never reads dry_run:relationsbulkcommentslabelsattachmentsteamstimetriageproject_updatesfavoritesnotificationssprintapiinteractive
bulk is the one I would prioritize — it is the command where a user is most likely to reach for --dry-run first, and it is the one where being wrong is most expensive.
Two options, either of which closes the trap:
Implement --dry-run in the remaining modules.
Cheaper and safer in the meantime: reject --dry-run with a clear error on any command that does not implement it. A loud "not supported for this command" is strictly better than a silent mutation, and it makes the gap self-documenting.
Happy to send a PR for (2) if you would like it — it is a small change and it stops the bleeding while (1) gets filled in per module.
Reported from an agent harness where --dry-run is exactly the guard we lean on before letting automation touch a workspace.
Fixed by #50. Unsupported mutating commands now reject --dry-run before dispatch, and api query rejects mutation documents; regression coverage and strict CI checks pass.
Activity
Finesssee commentedon Sep 13, 2026
Fixed by #50. Unsupported mutating commands now reject --dry-run before dispatch, and api query rejects mutation documents; regression coverage and strict CI checks pass.