v1.0.135
Bundles up nine fixes that landed on next after v1.0.134, including a critical Pi adapter regression and a Linux SIGSEGV escape hatch.
Critical fixes
Pi adapter ctx_* tools no longer go stale after MCP idle shutdown (#583). v1.0.132's idle self-shutdown left the Pi MCP bridge holding a dead child handle — every ctx_* call after the timeout fired Error: MCP server has exited. The bridge now respawns the MCP child transparently on first call after exit. Closes #583.
Linux SIGSEGV avoided via Bun re-exec at startup (#578, #564). When start.mjs runs under Node on Linux without the modern node:sqlite gate, it now re-execs under Bun (if installed) before initializing better-sqlite3. Sidesteps the V8 madvise SIGSEGV class that v1.0.132's hard-fail blocked but didn't escape. Closes #564.
start.mjs now honors CLAUDE_CONFIG_DIR everywhere (#577). Eight hardcoded ~/.claude/ paths in the cache-heal layer (and the auto-deployed heal script template) ignored the env var, silently no-op'ing for users with custom config locations and creating an unwanted ~/.claude/ directory. New resolveClaudeConfigDir() helper threads the env through every layer. Closes #577.
Adapter parity
Codex AGENTS.md rule capture (#580). Was the only adapter missing the rule-extraction pattern that Claude Code / Cursor / Gemini / VS Code all share. ctx_insight uniqueRuleFiles was always 0 for Codex sessions. Closes #580.
OpenCode desktop session detection (#581). Distinguishes OPENCODE_CLIENT=desktop from CLI sessions, fixing platform reports for users running OpenCode's desktop client. Closes #581.
Linux hooks.json resolves bare node for /bin/sh (#582). Normalizes hook paths during install so non-interactive shells can locate the runtime. Closes #582.
Quality + lifecycle
/ctx-upgrade now heals stale ~/.claude.json MCP registrations (#579). Post-upgrade, the user MCP registration entry could point to the previous version's binary. The upgrade flow now rewrites it. Closes #579.
Locale detector rejects POSIX identifiers. detectLocaleAndTz no longer mistakes C/POSIX for valid BCP 47 — falls back to the next signal in the cascade.
Windows bun.exe runtime detection. endsWith("bun") regex generalized so Bun installed as bun.exe is recognized.
Tests
3300+ pass on full suite. Pre-existing baseline failures unchanged.
Compatibility
15 adapters, 3 OS. No schema migration. engines.node >= 22.5.0 from v1.0.132 preserved (Linux now self-rescues via Bun re-exec when Node < 22.5).
Upgrade
npm install -g context-mode@latest
# Restart Claude Code (Cmd+Q + reopen) to load the new MCP server.