allowList and bypass
allowList.phrases and allowList.patterns drop single findings. A finding is dropped when its matched text or its whole source line contains a phrase (case-insensitive) or matches a pattern (a regex string, compiled with the i flag). Both lists cover em dashes and every AI writing category. A pattern that does not compile is skipped and reported once per session.
{
"allowList": { "phrases": ["load-bearing"], "patterns": ["^Fixes #\\d+"] }
}
That config keeps the word load-bearing and any line starting with Fixes # followed by digits.
bypass.phrases and bypass.patterns exempt the whole tool call. When the written chunks, the full Bash command, or the reply text holds a phrase or matches a pattern, the hook allows the call with the flag [concise] Allowed by bypass phrase "<phrase>" and runs no other check. concise-ignore and concise-ignore-file keep their narrower behavior.
{
"bypass": { "phrases": ["concise-bypass"], "patterns": ["^WIP:"] }
}
That config skips every check on a write that holds the text concise-bypass, and on a git commit whose message starts with WIP:.