diff --git a/AGENTS.md b/AGENTS.md
index d3addf4..a1fd690 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -43,7 +43,7 @@ bash testing/run.sh # Integration tests (full pre-commit pipeline)
## Core Patterns
- **Version resolution**: Dynamic from PyPI at runtime. No hardcoded version lists. Prefix match supported (`--version=20` → `20.1.8`).
-- **Return values**: All hooks return `Tuple[int, str]` — `(0, "")` success, `(1, output)` failure, `(-1, output)` dry-run.
+- **Return values**: All hooks return `tuple[int, str]` — `(retval, output)`, where `retval` is the tool's exit code (`0` on success, non-zero on failure; `--dry-run` auto-adds `--Werror` so formatting issues fail).
- **clang-tidy compile DB**: Auto-detected from `build/`, `out/`, `cmake-build-debug/`, `_build/`. Override with `--compile-commands=
`, disable with `--no-compile-commands`.
- **clang-tidy parallel**: `--jobs=N` runs per-file in parallel. Forced serial when `--export-fixes`, `-fix`, or `-fix-errors` is used.
diff --git a/README.md b/README.md
index 2aa3325..83773b8 100644
--- a/README.md
+++ b/README.md
@@ -48,7 +48,7 @@ leave it out if you only run clang-tidy in CI, for example with
- `--version=21` installs the newest 21.x wheel, and `--version=21.1.8` pins an exact release.
clang-tidy wheels are released separately from clang-format wheels and skip some releases, so
give clang-tidy the major version.
-- clang-format wheels cover LLVM 6 to 23 and clang-tidy wheels LLVM 13 to 22. For a version without
+- clang-format wheels cover LLVM 6 to 23 and clang-tidy wheels LLVM 13 to 23. For a version without
a wheel, the hook fails and lists some of the versions that exist.
- The hook looks the version up on pypi.org every time it runs. Without network access it fails
when `--version` is set, and otherwise uses the clang-format or clang-tidy already installed.