feat(cc): adopt CC 2.1.121 changelog wins (alwaysLoad + prune docs) - #64
#64Merged
github-actions[bot] merged 3 commits intoApr 28, 2026
mainanipotts/claude-code-tips:mainfrom
fix/cc-changelog-2.1.121-adoptionanipotts/claude-code-tips:fix/cc-changelog-2.1.121-adoptionCopy head branch name to clipboard
Merged
feat(cc): adopt CC 2.1.121 changelog wins (alwaysLoad + prune docs)#64github-actions[bot] merged 3 commits intomainanipotts/claude-code-tips:mainfrom fix/cc-changelog-2.1.121-adoptionanipotts/claude-code-tips:fix/cc-changelog-2.1.121-adoptionCopy head branch name to clipboard
github-actions[bot] merged 3 commits into
mainanipotts/claude-code-tips:mainfrom
fix/cc-changelog-2.1.121-adoptionanipotts/claude-code-tips:fix/cc-changelog-2.1.121-adoptionCopy head branch name to clipboard
Conversation
CC 2.1.121 honors `alwaysLoad: true` on stdio MCP servers. Without it, cc's 5-tool surface gets buried in tool-search, requiring the agent to deferred-fetch its own messaging tools — adds latency before sending any cross-session message. cc is foundational infra (every session sends/recv messages) so loading eagerly is correct. Cost: 5 tool schemas (~2KB) on every startup. Benefit: zero round-trip to discover cc's own tools. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Three things landed in the README: 1. uninstall section restructured into three tiers — `claude plugin uninstall cc --prune` (built-in cascade for deps), `/plugin uninstall cc` (in-session, no prune), and our `bin/uninstall.sh` (full state-dir wipe). The built-in --prune is correct hygiene even though cc has no auto-installed deps today. 2. New "reliability notes" section documenting MCP auto-retry. CC 2.1.121 retries MCP-server startup on transient failures, so the "/reload-plugins after flaky first start" workaround is gone. This is a free reliability win for cc with no code change required. 3. Eager-load note tied to the alwaysLoad addition in the previous commit — explains the ~2KB-on-startup tradeoff for ops awareness. Also fixes a stale path: README still referenced `~/.claude/cc/`, which is the v2 path. v3 moved state to `~/.claude/channels/cc/` to match the imessage plugin convention. Three call sites updated. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Each item carries the rationale a future Claude session needs to pick
it up without re-deriving.
- monitors manifest: marked as needs-investigation. The naive plan
(extract inbox watcher into a separate monitor process) would break
Tier 2 --channels push because server.notification() requires the
open MCP transport, which a separate process doesn't have. Need to
verify the monitors-to-MCP delivery contract first.
- PreCompact hook: skip compaction when a peer is actively blocking.
- ${CLAUDE_EFFORT}: vary digest verbosity by effort tier.
- cleanupPeriodDays: retention-sweep cc state dirs on the same
schedule CC sweeps plugin data.
- duration_ms in PostToolUse: weight file-recency by tool-call cost.
- Skill description 1536-char cap: relevant only if commands -> skills.
- Notifications tool: macOS push for urgent peer DMs.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
quality gate: all checks passed
automated check -- see CLAUDE.md for conventions. |
Contributor
|
@claude @codex please review this pr per .github/AI_REVIEW_RUBRIC.md. lanes:
output one pr comment each in the exact shape from the rubric. if an app is not installed on this repo, the mention sits unanswered and ci stays green. |
|
To use Codex here, create a Codex account and connect to github. |
This was referenced Apr 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
"alwaysLoad": trueto cc's MCP server config so the 5-tool surface and digest are available the moment the session starts (not deferred behind tool-search)claude plugin uninstall cc --prune(CC 2.1.121 built-in cascade),/plugin uninstall cc(in-session), andbin/uninstall.sh(full state-dir wipe). Also fixes stale~/.claude/cc/paths that should be~/.claude/channels/cc/since v3/reload-plugins after flaky first startworkaround is no longer neededWhat's NOT in this PR
The
monitorsmanifest extraction (initial item #2) was dropped after deeper analysis: cc's inbox watcher usesserver.notification()which requires the open MCP transport. A separatemonitors-spawned process can't push to that transport without verifying CC's monitors→MCP delivery contract first. Backlogged as investigation item with full rationale in BACKLOG.md.Test plan
python3 -c "import json; json.load(open('plugins/cc/.mcp.json'))"validatesclaude plugin validate plugins/ccpassesclaude plugin uninstall --helpconfirms--pruneis real/reload-pluginsand verify cc tools appear without tool-search round-trip🤖 Generated with Claude Code