Skip to content
Fallow home
All docs pages

fallow suppressions

See every finding your team chose to ignore, and why. Fallow suppressions is a read-only inventory of each active fallow-ignore marker, grouped by file with kind, level, and reason, plus project totals and a stale count.

Use fallow suppressions to review what your project ignores, and to find markers that have no reason. The command lists every active fallow-ignore-next-line and fallow-ignore-file marker in the analyzed files. It groups the markers by file, with line, kind, level, and reason. It also prints project totals and a stale count, which comes from the stale-suppression findings of this run.

The command is for review and governance. It does not detect issues, and it always exits 0.

fallow suppressions
● Suppression inventory (1)
  src/util.ts
    :1 unused-export (file-wide) reason: legacy surface for the v2 SDK migration window

● Totals by kind
  unused-export: 1

A marker gives its reason after a -- separator. The inventory reports markers without a reason, so you can require a reason on each marker:

// fallow-ignore-file unused-export -- legacy surface for the v2 SDK migration window

Options

FlagDescription
--file <PATH>List suppressions only in the specified files. Repeatable.
-w, --workspace <PATTERNS>Limit to one or more workspace packages
--changed-workspaces <REF>Limit to workspaces that contain a file changed since REF
--changed-since <REF>Limit to files changed since a git ref
-f, --format <FORMAT>human (default) or json
-r, --root <ROOT>Project root directory
-q, --quietSuppress progress output on stderr

JSON output

--format json prints the suppression-inventory envelope (schema version 1). A blanket marker has no kind and suppresses everything. Its JSON has kind: null, and the human output shows "blanket".

{
  "kind": "suppression-inventory",
  "schema_version": "1",
  "summary": {
    "total": 1,
    "files": 1,
    "without_reason": 0,
    "stale": 0,
    "by_kind": [
      { "kind": "unused-export", "count": 1 }
    ]
  },
  "files": [
    {
      "path": "src/util.ts",
      "suppressions": [
        {
          "line": 1,
          "kind": "unused-export",
          "level": "file",
          "origin": "comment",
          "reason": "legacy surface for the v2 SDK migration window",
          "reason_present": true
        }
      ]
    }
  ]
}

The stale count is not a new detection. Fallow takes it from the stale-suppression findings of this run. A marker is stale when it no longer matches any issue.

A run with --changed-since also has a root request_outcomes object with the changed-since entry. When fallow cannot resolve the ref, the entry says so, and the inventory covers the whole project.

MCP tool

Agents that use MCP get the same inventory from the list_suppressions tool. The tool returns this envelope unchanged. It runs a full analysis, so on large repositories, raise FALLOW_TIMEOUT_SECS. See MCP integration.

See also