Claude Code 2.1.80
**`effort` frontmatter for skills and slash commands** — agents can now override the model effort level at the point of skill/command definition, enabling context-aware defaulting without manual per-invocation effort tweaks.
New primitives
rate_limits in statusline scriptssettingDisplay Claude.ai rate limit usage (5-hour and 7-day windows with `used_percentage` and `resets_at`)
source: 'settings' for pluginssettingDeclare plugin entries inline in settings.json instead of external marketplace
CLI tool usage detectioncapabilityPlugin tips now detect CLI tool usage in addition to file pattern matching
effort frontmattersetting/frontmatterSkills and slash commands can specify `effort` in frontmatter to override the model effort level when invoked
--channels flag (MCP)flag/capabilityAllow MCP servers to push messages into your session (research preview)
Workflow recipes
MCP servers can now push events into the session, and skills can declare their computational intensity upfront. This unlocks a reactive agent pattern where external events trigger skills at the effort level that matches their resource budget.
An external system (e.g., Grafeo graph change listener, CI/CD webhook) pushes a message into Claude Code via --channels. The agent receives the event and routes it to a skill tagged with effort: auto or effort: fast to avoid runaway token consumption on high-frequency events. For critical synthesis tasks, the same skill can be invoked with effort: expert when the user escalates. Skills no longer need wrapper logic to decide effort; they declare intent in frontmatter.
Agents can now see Claude.ai rate limits (5-hour and 7-day windows) in real time. Skills can declare effort level upfront. Together, these enable a skill orchestrator that checks remaining budget before invoking expensive skills, degrading gracefully to lighter effort levels when nearing limits.
A meta-skill reads rate_limits from the statusline, computes headroom, and invokes downstream skills with effort: fast or effort: auto when approaching a limit, or effort: expert when headroom is plentiful. Skills with effort frontmatter can be invoked at varying intensities without rewriting them. This is especially valuable for long-running agent loops or high-throughput skill orchestration where token budget is a hard constraint.
Plugins can now be declared inline in settings.json, removing the need for external marketplace registration. This enables version-controlled, self-hosted plugin catalogs that travel with the repo.
A foundation3 monorepo can define a .claude/plugins.json (or inline plugins array in settings.json) listing all team-approved skills/tools/MCP servers. CI/CD can validate plugins at commit time. When a new agent checks out the repo, settings bootstrap all plugins automatically, ensuring tool alignment across the team without manual discovery or installation steps.
Agentic relevance
The `effort` frontmatter and `--channels` flag are the primary agents-facing additions. `effort` allows skills to declare computational intent (fast/auto/deep/expert) at definition time, reducing boilerplate per invocation. The `--channels` flag enables MCP servers to push notifications into the session asynchronously, unlocking event-driven agent workflows where external systems can trigger agent actions without polling. Together with the `rate_limits` visibility, these primitives improve agent autonomy and observability of model resource consumption.
Hardening & fixes (12)
- Fixed `--resume` dropping parallel tool results — sessions with parallel tool calls now restore all tool_use/tool_result pairs instead of showing `[Tool result missing]` placeholders
- Fixed voice mode WebSocket failures caused by Cloudflare bot detection on non-browser TLS fingerprints
- Fixed 400 errors when using fine-grained tool streaming through API proxies, Bedrock, or Vertex
- Fixed `/remote-control` appearing for gateway and third-party provider deployments where it cannot function
- Fixed `/sandbox` tab switching not responding to Tab or arrow keys
- Improved responsiveness of `@` file autocomplete in large git repositories
- Improved `/effort` to show what auto currently resolves to, matching the status bar indicator
- Improved `/permissions` — Tab and arrow keys now switch tabs from within a list
- Improved background tasks panel — left arrow now closes from the list view
- Simplified plugin install tips to use a single `/plugin install` command instead of a two-step flow
- Reduced memory usage on startup in large repositories (~80 MB saved on 250k-file repos)
- Fixed managed settings (`enabledPlugins`, `permissions.defaultMode`, policy-set env vars) not being applied at startup when `remote-settings.json` was cached from a prior session
Raw changelog
## 2.1.80 - Added `rate_limits` field to statusline scripts for displaying Claude.ai rate limit usage (5-hour and 7-day windows with `used_percentage` and `resets_at`) - Added `source: 'settings'` plugin marketplace source — declare plugin entries inline in settings.json - Added CLI tool usage detection to plugin tips, in addition to file pattern matching - Added `effort` frontmatter support for skills and slash commands to override the model effort level when invoked - Added `--channels` (research preview) — allow MCP servers to push messages into your session - Fixed `--resume` dropping parallel tool results — sessions with parallel tool calls now restore all tool_use/tool_result pairs instead of showing `[Tool result missing]` placeholders - Fixed voice mode WebSocket failures caused by Cloudflare bot detection on non-browser TLS fingerprints - Fixed 400 errors when using fine-grained tool streaming through API proxies, Bedrock, or Vertex - Fixed `/remote-control` appearing for gateway and third-party provider deployments where it cannot function - Fixed `/sandbox` tab switching not responding to Tab or arrow keys - Improved responsiveness of `@` file autocomplete in large git repositories - Improved `/effort` to show what auto currently resolves to, matching the status bar indicator - Improved `/permissions` — Tab and arrow keys now switch tabs from within a list - Improved background tasks panel — left arrow now closes from the list view - Simplified plugin install tips to use a single `/plugin install` command instead of a two-step flow - Reduced memory usage on startup in large repositories (~80 MB saved on 250k-file repos) - Fixed managed settings (`enabledPlugins`, `permissions.defaultMode`, policy-set env vars) not being applied at startup when `remote-settings.json` was cached from a prior session