charter suppress <RULE-ID> writes a suppression entry to .charter-suppress.yml. Use it when a finding is a confirmed false positive or an accepted risk that still needs an audit trail. The rule ID is positional. Suppressed findings disappear from the active score and are listed separately in scan output.
Usage

charter suppress --dry-run — preview the suppression entry before writing
Flags
string
required
Human-readable explanation of why this finding is acceptable. Required — a suppression without a reason triggers
AE-SUPPRESS-001.string
Time-to-live for the suppression. Accepts a day duration (
30d, 90d), an ISO date (2026-12-31), or permanent. Durations are stored as an absolute YYYY-MM-DD date. Defaults to 90d.string
Approver handle. Required for a
permanent waiver to be honored — without it, AE-SUPPRESS-002 fires as a High finding.string
Explicit repository root. Defaults to the current working directory.
boolean
Print the suppression entry that would be written without modifying
.charter-suppress.yml.auto | always | never
Color output mode for text rendering. Defaults to
auto.boolean
Disable color. Equivalent to
--color=never and wins over --color when both are set.What Gets Written
charter suppress updates .charter-suppress.yml in the target repository. Each entry records:
path field scopes an entry to a specific file or glob.
Governance Rules
Three governance rules run on everycharter doctor scan to keep the suppression file honest:
AE-SUPPRESS-001(Medium) — fires if any suppression entry is missing areasonfield. Every suppression must carry a human-readable justification.AE-SUPPRESS-002(High) — fires if any permanent suppression has noapproverfield. Permanent waivers require an explicit owner on record.AE-SUPPRESS-003(Informational) — fires when the suppression rate across the repository is high. This is a signal-only finding and does not deduct from the score. It surfaces when a large proportion of findings are suppressed rather than fixed.
Exit codes
Related
Suppression governance
How the suppression file is policed and why waivers expire.
Suppress a finding
The end-to-end workflow for accepting a risk on the record.
AE-SUPPRESS-001
The rule that requires every suppression to carry a reason.