From 65cbe28d7e7c7e04d5a07ebe2577b7c40210abc2 Mon Sep 17 00:00:00 2001 From: Jamie Nelson Date: Mon, 31 Aug 2026 15:12:58 +1000 Subject: [PATCH] chore(pre-commit): pin node to 24.16.0 in default_language_version 24.16.0 is the Node that Volta provides at /Users/jamienelson/.volta/bin/node, and is the version proven to work where prek's bundled Node 26.8.1 could not start at all on macOS 12.7.6: dyld: Symbol not found: (__ZNSt3__122__libcpp_verbose_abortEPKcz) that libc++ predates the symbol. `node: system` is not sufficient. Measured with forced-fresh prek env hashes: `system` stops prek DOWNLOADING a toolchain but does not stop it PREFERRING one already downloaded. Against the poisoned cache, `system` failed with the identical dyld error while `24.16.0` passed by resolving to Volta. The broken toolchain has since been deleted, so hooks work today, but that fix lives in one machine's cache and does not travel to a new machine, a cleared cache, or a CI runner. The pin does. --- .pre-commit-config.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f6a6d01..c637716 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -118,3 +118,4 @@ repos: # Configuration for specific hooks default_language_version: python: python3 + node: 24.16.0