arthai-marketplace

/extensions waive

Waive a specific extension rule with a written rationale.

Synopsis

/extensions waive <domain>/<name>/<RULE-ID> "reason"

When to use it

Prerequisite: the pack must already be enabled, run /extensions enable <pack_id> first if it isn’t.

Quickstart

/extensions waive compliance/hipaa/HIPAA-312b "No PHI is stored in this service"

What you’ll see:

Waived compliance/hipaa/HIPAA-312b — "No PHI is stored in this service."
This rule will appear as 'waived' in the next evidence report.
To revoke: edit .claude/extensions/.enabled.json and remove the entry from .waivers[].

The rule shows as waived (with your rationale) in the next evidence report instead of being enforced as blocking.

Examples

/extensions waive compliance/hipaa/HIPAA-312b "No PHI is stored in this service"   # waive one rule with a rationale
/extensions waive security/baseline/SEC-04 "Covered by org-level WAF policy"       # format: <domain>/<name>/<RULE-ID>

What it does

  1. Parses the target, the first two path segments are the pack ID, the remainder is the rule ID. A quoted reason is required.
  2. Validates that the pack is currently enabled and that the rule ID actually exists in the pack’s rule file.
  3. Checks for duplicates, waiving an already-waived rule exits cleanly, showing the existing reason (idempotent).
  4. Appends the waiver to .claude/extensions/.enabled.json with the rule, reason, timestamp, and your git email.
  5. Confirms, the rule renders as waived with your rationale in the next evidence report, and the code reviewer no longer treats it as blocking for this project.

To revoke a waiver, edit .claude/extensions/.enabled.json and remove the entry from .waivers[].

Output & artifacts

Troubleshooting

Problem Fix
Cannot waive a rule in a pack that isn't enabled Run /extensions enable for the pack first
Rule {rule_id} not found in {pack_id} Check the rule ID against the pack’s rules file: the error message shows its path
Bad format Use <domain>/<name>/<RULE-ID> plus a quoted reason as the second argument
Waiver ... already exists Idempotent: the existing waiver and its reason are shown; revoke it by editing .enabled.json if you want to change it
jq required Install jq: this command manipulates JSON state