v13.12.1

adbar/trafilaturav13.12.1Jul 23, 2026by thedotmack

AI Summary

Critical fix to prevent an infinite worker restart loop caused by plugin upgrades using modification time (mtime) for version resolution.

Key Highlights

  • Fixes worker restart storm triggered by plugin upgrades.
  • Resolvers now rank cache directories by version instead of mtime.
  • Prevents hundreds of processes from spawning during upgrades.

Full Release Notes

## Critical fix: worker restart storm

Fixes an infinite worker restart loop triggered by plugin upgrades. The worker-script resolver ranked plugin cache directories by **mtime**, so when Claude Code stamped a superseded version dir with `.orphaned_at` (bumping its mtime), every restart respawned the **old** version while hooks on the new version kept demanding a restart — spawning hundreds of processes until the host machine exhausted its process table.

All four resolvers (worker successor, MCP launcher, Codex Windows launcher, POSIX hook prelude) now rank cache dirs by **version** — never mtime — skip orphan-stamped dirs, and share one deterministic version oracle with the staleness detector (`checkVersionMatch`), making the restart loop structurally impossible.

**Recommended upgrade for all users.** Note: the vulnerable resolver is the one running *during* an upgrade, so machines are protected from the next upgrade onward.

Details: #3371