Waive a specific extension rule with a written rationale.
/extensions waive <domain>/<name>/<RULE-ID> "reason"
Prerequisite: the pack must already be enabled — run /extensions enable <pack_id> first if it isn’t.
/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.
/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>
.claude/extensions/.enabled.json with the rule, reason, timestamp, and your git email.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[].
.claude/extensions/.enabled.json (.waivers[])waived with your reason in the pack’s evidence report on the next /pr run| 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 |