Ruff v0.16.0
Simon Willison · Simon Willison · 2026-07-25
Simon Willison documents how Ruff v0.16.0's expansion from 59 to 413 default lint rules broke CI pipelines across his major Python projects and how he used AI coding agents—Codex and Claude Code—to apply the bulk of the automated fixes.
Extraction
Topics: python-lintingruffdeveloper-toolsci-cdai-assisted-coding
Claims
- Ruff v0.16.0 expands default-enabled rules from 59 to 413, drawn from a total pool of 968 rules.
- The newly enabled defaults catch severe issues including syntax errors and immediate runtime errors that were previously ignored.
- Running `ruff check --fix --unsafe-fixes` can automatically resolve the majority of violations, fixing 1538 of 1618 errors in sqlite-utils.
- Ruff's structured error output is well-suited for AI coding agents to consume and apply fixes autonomously.
Key quotes
Ruff now enables 413 rules by default, up from 59 in previous versions.
Found 1618 errors (1538 fixed, 80 remaining).
Unsurprisingly, given Astral's new home at OpenAI, this output provides everything a coding agent would need to fix the problems.