v13.5.7

underpig1/octosv13.5.7Jun 13, 2026by thedotmack

AI Summary

Fixes a critical bug where a stale claude CLI binary in the PATH could silently kill all observations by rejecting required flags.

Key Highlights

  • Probes CLI capabilities (not just existence) using exact flags passed by the agent
  • Prefers the newest capable version and fails loud for outdated binaries
  • Build-size budgets are now advisory warnings instead of hard failures
  • Self-heals on CLI updates without requiring a worker restart

New Features

  • Improved CLI capability resolution

Full Release Notes

## What's Fixed

### Stale Claude CLI can no longer silently kill every observation (#2911)

If an abandoned npm-global `claude` binary sat earlier in PATH than your current install, every Observer spawn died instantly at flag parsing — worker healthy, zero observations, nothing in the logs. The resolver now:

- **Probes every candidate for capability**, not just existence: each CLI is tested with `--permission-mode dontAsk --version`, the exact flags claude-mem passes on every agent spawn. Binaries that reject them (older than the 2.1.x line) are skipped up front with a clear warning.
- **Prefers the newest capable version** — PATH order only breaks ties, so a stale binary can't shadow a current one.
- **Fails loud, never silent**: an explicit `CLAUDE_CODE_PATH` that's too old throws with the version and the remedy; if every CLI found is too old, the error names each path and version.
- **Self-heals on CLI updates**: successful resolutions are cached 15 minutes, failures are never cached — updating your CLI is picked up on the next observation without a worker restart.
- **Keeps a 2KB stderr tail** from SDK children, included in exit warnings (and read on `close`, so it's never truncated) — a CLI dying at flag parsing now says why at default log level.

### Build

- Bundle-size budgets are now advisory warnings instead of hard build failures.