1.87.0 (2026-10-27)
Features
- check loaded plugins for updates alongside Meridian (#1445) (a70a992)
- list and redeem Claude banked resets (#1429) (19b0f76)
- optional prompt-cache keepalive for idle sessions (#1193) (1b643b1)
- profiles: flag profiles signed in to one account, show a card updating after sign-in, refresh pages in place (#1446) (72da174)
Bug Fixes
- antigravity: expand a leading ~ in PI_CODING_AGENT_DIR for Pi setup (#1456) (df3839e)
- chatgpt: list a seat as it was while its renewal is out (#1463) (2534575)
- delete old Claude Code transcripts again (#1261) (3548ff2)
- opencode: keep V2 compaction on the conversation's model tier (#1458) (c433b20)
- passthrough: share built tool definitions between sessions (#1410) (9d971d5)
- settings: put each control on its label's line and name the env var that overrides a setting (#1443) (662fd4c)
Performance
Upgrade notes
- Transcript retention is opt-in and off by default (#1261). Nothing is deleted unless you set
MERIDIAN_TRANSCRIPT_RETENTION_DAYSor Settings → Transcripts. When it's on, Claude Code's own cleanup deletes all of its files older than the period in each profile directory: transcripts (including conversations Meridian still maps, which then replay from client history), file history, plans, tasks, uploads, shell snapshots, debug logs and backups. The first cleanup after you turn it on can wait up to a day. See transcript retention. - Prompt-cache keepalive is opt-in and off by default (#1193). Set
MERIDIAN_CACHE_KEEPALIVE=1(orcacheKeepalive: true) to keep an idle subscription session's one-hour prompt cache warm with at most three small requests about 55 minutes apart. It only applies to main conversations onclaude-maxprofiles and never to API-key or Extra Usage traffic. In a live A/B the next turn after a 65-minute pause was about 89% cheaper. - "Check for updates" now also covers loaded plugins (#1445). With the check on, the npm package names of loaded plugins are sent to the registry, using the same toggle as Meridian's own check. If you route Meridian's check to a mirror with
MERIDIAN_UPDATE_CHECK_URL, plugins are only checked once you also setMERIDIAN_UPDATE_CHECK_REGISTRY. - Banked resets (#1429) appear in
GET /v1/usage/quota/all, andPOST /v1/usage/quota/resetredeems one only when you explicitly name the profile, grant and request ID. Inferred token profiles now reportnot_oauthon quota routes. - No macOS desktop download for this release. The
desktop / macjob failed at Apple notarization (HTTP 401), the same rejected credential as 1.85.0 and 1.86.0. npm, Docker (ghcr.io/rynfar/meridian:1.87.0and:1.87, linux/amd64 and linux/arm64) and Nix are unaffected.