You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Claude Code shipped substantial new features in v2.1.83 → v2.1.122 (March 23 – April 28, 2026) that the template doesn't yet demonstrate or use. New extension points (PreCompact hook, updatedToolOutput, plugin bin/, themes), new settings (statusLine.refreshInterval, sandbox.network.deniedDomains, prUrlTemplate), and new affordances (alwaysLoad MCP, ${CLAUDE_EFFORT} skill interpolation, agent-level mcpServers and hooks frontmatter, auto mode, /ultrareview) are all relevant for a starter template that's meant to be a working reference of the tool.
A template that's a snapshot of the tool from 5 weeks ago is misleading: users who fork it think they're seeing best practices, but they're actually missing some of the most useful capabilities the tool has shipped. The cost is opportunity cost, not breakage — the template still works as-is — but the gap will keep growing if we don't update.
Solution
Audit the v2.1.83 → v2.1.122 changelog. Wire in every feature that's relevant for a template (i.e., something a forker would want demonstrated, not internal architecture changes or UI features). Specifically:
New hooks: PreCompact (checkpoint before compaction), PostToolUse.updatedToolOutput (secret redaction).
Hook payload field: use duration_ms in the existing session-cost hook for per-tool timing.
MCP: alwaysLoad: true on filesystem and git so they skip tool-search deferral.
settings.json includes statusLine.refreshInterval, sandbox.network.deniedDomains, prUrlTemplate
settings.local.json.example documents new env vars and autoMode
docs/permission-modes.md documents auto mode
docs/hooks-cookbook.md covers all new hook events and the conditional if field
docs/plugins.md notes bin/, themes/, monitors, claude plugin tag/prune
docs/integrations.md notes /ultrareview and Routines
.gitignore excludes Claude Code runtime state
All JSON valid; all shell scripts pass bash -n
All new hook scripts smoke-tested
Technical Notes
Files affected: 17 files (new + modified)
Dependencies: none
Breaking changes: none. All additive. Existing forks pull this and the only behavior changes are: (a) new hooks fire on additional events, (b) MCP alwaysLoad accelerates tool availability, (c) statusline now refreshes every 5 seconds.
Agent Context
change-type: feature
risk-level: low
test-coverage: JSON validation via jq, shell syntax via bash -n, smoke tests for redact-secrets, pre-compact, session-cost, and the bin/claude-template-info script.
rollback-plan: git revert the squash-merge commit. All changes are additive; no removed functionality to restore.
Workflow Progress
graph LR
A[Analyze] --> B[Issue] --> C[Branch] --> D[Implement] --> E[PR] --> F[Review] --> G[CI] --> H[Merge] --> I[Deploy] --> J[Shipped]
classDef done fill:#22c55e,stroke:#16a34a,color:#fff
classDef active fill:#eab308,stroke:#ca8a04,color:#fff
classDef todo fill:#d1d5db,stroke:#9ca3af,color:#fff
class A,B,C,D,E,F,G,H,I,J done
Problem
Claude Code shipped substantial new features in v2.1.83 → v2.1.122 (March 23 – April 28, 2026) that the template doesn't yet demonstrate or use. New extension points (
PreCompacthook,updatedToolOutput, pluginbin/, themes), new settings (statusLine.refreshInterval,sandbox.network.deniedDomains,prUrlTemplate), and new affordances (alwaysLoadMCP,${CLAUDE_EFFORT}skill interpolation, agent-levelmcpServersandhooksfrontmatter, auto mode,/ultrareview) are all relevant for a starter template that's meant to be a working reference of the tool.A template that's a snapshot of the tool from 5 weeks ago is misleading: users who fork it think they're seeing best practices, but they're actually missing some of the most useful capabilities the tool has shipped. The cost is opportunity cost, not breakage — the template still works as-is — but the gap will keep growing if we don't update.
Solution
Audit the v2.1.83 → v2.1.122 changelog. Wire in every feature that's relevant for a template (i.e., something a forker would want demonstrated, not internal architecture changes or UI features). Specifically:
PreCompact(checkpoint before compaction),PostToolUse.updatedToolOutput(secret redaction).duration_msin the existingsession-costhook for per-tool timing.alwaysLoad: trueonfilesystemandgitso they skip tool-search deferral.statusLine.refreshInterval,sandbox.network.deniedDomains,prUrlTemplate.bin/executable +themes/directory; bump plugin to v0.3.0.${CLAUDE_EFFORT}interpolation.mcpServers:andhooks:frontmatter on an existing agent.claude ultrareviewmode inscripts/ci-review.sh.ENABLE_PROMPT_CACHING_1H,CLAUDE_CODE_NO_FLICKER,CLAUDE_CODE_HIDE_CWD,CLAUDE_CODE_FORK_SUBAGENT,DISABLE_UPDATES,ANTHROPIC_BEDROCK_SERVICE_TIER).autoandautoMode.allow/soft_deny/environmentblocks.CLAUDE.md,README.md,docs/hooks-cookbook.md,docs/permission-modes.md,docs/plugins.md,docs/integrations.md..claude/scheduled_tasks.lock,.claude/checkpoints/,.claude/*.lockto.gitignore.Architecture
graph TD subgraph New[v2.1.83 → v2.1.122 features added] H1[PreCompact hook] H2[updatedToolOutput hook] H3[duration_ms in payload] M1[MCP alwaysLoad] P1[plugin bin/] P2[plugin themes/] S1[statusLine.refreshInterval] S2[sandbox.network.deniedDomains] S3[prUrlTemplate] S4[auto permissionMode + autoMode] K1[skill CLAUDE_EFFORT] A1[agent mcpServers/hooks frontmatter] C1[claude ultrareview] end subgraph Touched[Files touched] T1[.claude/settings.json] T2[.mcp.json] T3[.claude-plugin/plugin.json] T4[.claude/themes/] T5[bin/] T6[scripts/hooks/*.sh] T7[CLAUDE.md / README.md / docs/] end H1 --> T1 & T6 H2 --> T1 & T6 H3 --> T6 M1 --> T2 P1 --> T3 & T5 P2 --> T3 & T4 S1 & S2 & S3 --> T1 S4 --> T7 K1 --> T7 A1 --> T7 C1 --> T6 & T7Business Impact
redact-secretshook plusblock-dangerous-bashform a layered safety net — secrets leaked into tool output never reach the model.PreCompactcheckpointing means long sessions don't lose context silently.${CLAUDE_EFFORT}skill demo shows how to scope work consistently acrosslow/xhighwithout writing two skills.alwaysLoadMCP keeps the most-used tools always available, skipping search deferral.Acceptance Criteria
PreCompacthook wired up with a working checkpoint scriptredact-secretshook useshookSpecificOutput.updatedToolOutputsession-cost.shreads per-toolduration_msfrom logs.mcp.jsondeclaresalwaysLoad: trueforfilesystemandgit.claude/themes/ships at least one themebin/ships at least one executable.claude-plugin/plugin.jsonregistersthemesandbincomponents${CLAUDE_EFFORT}mcpServers:andhooks:frontmatterscripts/ci-review.shsupports--ultrareview <target>modesettings.jsonincludesstatusLine.refreshInterval,sandbox.network.deniedDomains,prUrlTemplatesettings.local.json.exampledocuments new env vars andautoModedocs/permission-modes.mddocumentsautomodedocs/hooks-cookbook.mdcovers all new hook events and the conditionaliffielddocs/plugins.mdnotesbin/,themes/,monitors,claude plugin tag/prunedocs/integrations.mdnotes/ultrareviewand Routines.gitignoreexcludes Claude Code runtime statebash -nTechnical Notes
alwaysLoadaccelerates tool availability, (c) statusline now refreshes every 5 seconds.Agent Context
jq, shell syntax viabash -n, smoke tests forredact-secrets,pre-compact,session-cost, and thebin/claude-template-infoscript.git revertthe squash-merge commit. All changes are additive; no removed functionality to restore.Workflow Progress
graph LR A[Analyze] --> B[Issue] --> C[Branch] --> D[Implement] --> E[PR] --> F[Review] --> G[CI] --> H[Merge] --> I[Deploy] --> J[Shipped] classDef done fill:#22c55e,stroke:#16a34a,color:#fff classDef active fill:#eab308,stroke:#ca8a04,color:#fff classDef todo fill:#d1d5db,stroke:#9ca3af,color:#fff class A,B,C,D,E,F,G,H,I,J done