What's new in v2.3.0
README discipline
Thread READMEs are now a lean index — not a content dump. A fixed-section template (replacing the old Problem/Current State/Desired State/Existing Infrastructure/Resolved Questions/Notes sections) with explicit write rules: no new sections, everything substantive goes in a linked artifact or decision. Quick Resume decay rules keep the thread summary tight (5 ideal / 10 max next steps, rolling 3–5 recent progress entries).
Threads skill refactor
SKILL.md split from a 461-line monolith into a 154-line lean index with 7 command reference files loaded on demand — reducing token cost for every non-resume invocation. Resume stays inline since it runs every session.
Resume fixes
Based on analysis of observed resume failures:
get_thread_statusrenamed toresume_threadand now returns the full README (not just Quick Resume), giving the LLM the complete map in one call- Session frontmatter (date, summary, keywords, next_context) loaded with a recency gradient on resume for richer context without eager file reads
- Pre-work confirmation checkpoint before any planning or recommendation
- Patching/confusion correction rules
Save fixes
/threads save now executes as explicit mandatory steps: README Quick Resume update, README hygiene checks, session log creation/update, session linking. On save, unlogged decisions from the conversation are surfaced and batched into a single prompt.
New get_skill_file MCP tool
Replaces get_template for reading any plugin file (templates and command references) without triggering filesystem permission prompts.
Global permissions setup
When setting a workspace for the first time, the skill offers to write allowlist entries to the global CLI configuration file — no more per-session permission prompts.
CLI detection fix
Detection now uses the LLM's own knowledge of its config file location rather than printenv CLAUDE_PLUGIN_ROOT (which isn't available in bash commands).
Other fixes
- Codex skill invocation is
$threadsnot/threads - MCP fallback rule clarified: fix failures, don't work around them with raw file reads
- Decision logs created immediately with README links — no orphaned files