Print enabled extension packs with evidence freshness and waiver counts.
/extensions status
/extensions status
What you’ll see: a health line (✓ All evidence current. or a ⚠ warning), then a per-pack table with version, enable date, evidence report age, waiver count, and conflict-log entries. Conflicts are rule clashes between two enabled packs that were auto-resolved by /extensions enable (the higher-restrictiveness rule wins) — the count here just reflects how many such resolutions are on record for that pack; see its conflict-log.md if you want the detail.
/extensions status # the one and only form — no arguments
.claude/extensions/.enabled.json; if nothing is enabled, points you to /extensions list and /extensions enable.(never)), how many waivers target it, and whether a conflict log exists.⚠ N packs have stale or missing evidence — run /pr to regenerate.), otherwise confirms all evidence is current. Evidence reports are the compliance-rule-check output for a pack, generated when you run /pr; if a report is missing or older than your latest commit, that pack’s compliance status may not reflect your current code — that’s what “stale” means here.| Problem | Fix |
|---|---|
No extensions enabled in this project |
Run /extensions list to see available packs and /extensions enable to opt in |
Evidence shows (never) or ⚠ stale |
Run /pr — evidence reports are generated as part of the PR workflow |
jq required for /extensions status |
Install jq — this command reads JSON state |
| Freshness check skipped | You’re not in a git repo (no commit to compare against) — rows still print without the stale comparison |
| CONFLICTS column shows entries | Informational only — no action required. It means two enabled packs had an overlapping rule ID and /extensions enable auto-resolved it by restrictiveness. Check the pack’s conflict-log.md if you want to see which rule won and why |