v1.0.147 — community fixes + ctx_* tool description audit
Eleven PRs from nine contributors. Two feat: additions, eight fix:, plus a full audit of the ctx_* tool descriptions and the OMP plugin manifest-key fix (#677).
Features
feat: add runtime storage override(#617) by @TyceHerrman — newCONTEXT_MODE_DIRenv var redirects sessions/content/stats to a shared root (multi-tenant + shared-service deployments)feat(fetch): add per-call cache TTL(#666) by @NgoQuocViet2001 —ctx_fetch_and_indexaccepts acacheTtlMsargument for callers that need fresher results than the default 24hfeat(opencode): streamline installation process + CLI upgrade(#650) by @mikij — fewer steps for new OpenCode users, cleanerctx upgradeflow
Fixes
fix(omp): switch manifest key omp.hooks → omp.extensions(closes #677, reported by @gritsenko-konstantin) —omp.hookswas a dead manifest key in OMP's loader;omp.extensionsis the wired resolver. Pre-fix,omp plugin install context-moderegistered cleanly but every event handler stayed inert (notool_callinterception, nosession_start, notool_resultcapture). Verified line-by-line against oh-my-piorigin/mainsource.fix(server): ctx_* tool description audit + WebFetch refusal(#683, substitutes #654) — rewrote 11 tool descriptions inWHEN / WHEN NOT / RETURNS / EXAMPLEshape, renamed<forbidden_actions>→<when_not_to_use>in the routing block (affirmative framing, ADR-0002), reworded curl/wget/WebFetch redirect echoes to clarify "redirected for context-window optimization, NOT a network restriction"fix(server): surrogate-safe preview truncation(#660) by @ccheng555 —ctx_fetch_and_indexpreview no longer splits UTF-16 surrogate pairs mid-character (CJK/emoji corruption fix)fix(server): z.preprocess coercions for ctx_fetch_and_index(#679) by @LeoNardo-LB —forceandrequestsparams accept loose JSON shapes from hosts that don't pre-coercefix(batch_execute): preserve heredoc commands(#657) by @Noctivoro — multi-line<<EOFheredocs no longer collapse into a single linefix(auto-memory): scope memory dir by projectDir(#664, closes #663) by @sebastianbreguel — fixes a cross-project memory leak where two repos with the same parent dir shared an auto-memory filefix(pi): prevent mixed-width TUI over-width crashes(#676) by @ByronFinn — CJK / Korean / emoji chars no longer crash the Pi TUI renderer at row boundariesFix Claude plugin skills path and pack integrity guard(#661) by @Baijack-star
Install / Upgrade
npm install -g context-mode@1.0.147
# or
context-mode upgradeTested matrix
- macOS / Linux / Windows on Node 22.5+
- 3,639 vitest tests passing (147 files), 0 failures pre-release
Contributor credits
PRs merged this cycle — thank you all:
@TyceHerrman · @NgoQuocViet2001 · @mikij · @ccheng555 · @LeoNardo-LB · @Noctivoro · @sebastianbreguel · @ByronFinn · @Baijack-star · @gritsenko-konstantin (issue #677 diagnosis)
🤖 Generated with Claude Code