v13.5.7

ssrajadh/sentrysearchv13.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 flag parsing. The resolver now tests capabilities and prefers the newest viable version.

Key Highlights

  • Probe every candidate CLI for capability, not just existence
  • Prefers the newest capable version; PATH order only breaks ties
  • Fails loud with explicit error messages instead of silent failures
  • Self-healing cache mechanism: successful resolutions cached 15 minutes, failures never cached

New Features

  • CLI capability probing with `--permission-mode dontAsk --version`
  • 2KB stderr tail logging from SDK children
  • Advisory bundle-size budgets instead of hard build failures

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.