megachangelog
Announcement2.1.290

Claude Code 2.1.290 Release

This release adds new capabilities for plugin hooks including serverToolUses, agentId, and ceiling fields, introduces Deny button for sign-in approval, adds managed agents setup commands, and includes numerous improvements to permissions, logging, WebSearch budgeting, and IDE integrations across VSCode, Chrome, and Slack.

Added

  • Added serverToolUses to the result of a mod's turn.step hook: the tool calls the API ran itself (the advisor), each with its id, name, input, start and end
  • Added agentId to the tool.check event of plugin hooks, so a hook can tell a subagent's permission check from the main session's
  • Added ceiling to the question and verdict a mod's tool.check hook reads, naming the approval an organization requires for a tool
  • Added ThemeKey and Color types to the plugin hooks typings, so an editor lists the theme colors a mod's drawing can name
  • Added to claude plugin validate: each hook a mod registers at a gating site is listed with whether it has a .catch (gatingHooks under --json)
  • Added a Deny button to the Claude apps gateway's sign-in approval page: it ends the pending sign-in, so the waiting terminal stops within seconds
  • Added claude attach <name> and claude logs <name>: part of a session name works in place of the id
  • Added /claude-api managed-agents-onboard <url> to set up the Managed Agents pattern a page describes as ant apply files
  • Added /claude-api managed-agents-onboard <quickstart-name> to build a Console quickstart template, such as deep-researcher, with the ant CLI
  • Added a warning when a managed settings file is a link to a file outside the managed settings folder
  • Added a /status and doctor warning when managed settings ignore user-configured sandbox allowRead paths or allowed domains
  • [VSCode] Added a screen reader announcement, "Message queued.", when you send a message while Claude is working
  • [VSCode] Added a way to review and run a plugin marketplace's install or update command from the Manage plugins dialog
  • [Claude Tag] Added fast mode in Slack: mention Claude with !fast to switch a thread to fast mode, moving it to Opus if needed, and !fast off to switch back; replies show (fast) while it's on
  • [Claude Tag] Added the optional Path prefixes field when creating a custom connection in an access bundle, so its allow rule can cover only those paths instead of the whole host

Changed

  • Changed CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC to also skip the startup connection warm-up
  • Changed Claude in Chrome so that a project's settings files can no longer turn it on; use --chrome, /chrome or your user settings
  • Changed the Bash tool to ask for permission before running pyright, which is no longer treated as a read-only command
  • Changed what a mod's $.process.spawn rejects with when another mod denies it after the child ran: it now says the call ran and a plugin withheld its result
  • Changed the background daemon's log to write a multi-line message as one JSON-quoted line
  • Changed skills and custom commands to refuse a ! shell command that contains raw control characters other than tab and newline, with a message that shows where they are
  • Changed /artifacts: opening an artifact in your browser now closes the list
  • Changed Bash permission checks so that more forms of the ps command ask for approval instead of running without asking
  • Changed plugin hooks so long text is clipped and logged instead of being refused or dropped silently
  • Changed background sessions whose scheduled task is gone: they now move to Completed about 20 seconds later and can be updated or shut down when idle
  • Changed the "Press ← again" confirm on a just-cleared prompt: a second ← no longer has to wait a second before it switches, and holding ← down now switches too
  • Changed the errors shown when the /ultrareview upload fails at a git step: they name the step and what to try, and no longer repeat git's own error text
  • Changed /code-review at medium effort to also report cleanup and CLAUDE.md conventions findings on models without tuned review settings, including Opus 5.5 and Sonnet 5.5
  • Changed an in-process teammate's agent_id in Agent results to its agent ID (its name@team address stays in teammate_id); TeammateIdle hooks no longer fire from its subagents or forks
  • Changed background sessions waiting on a scheduled wakeup (/loop): they are now left running through updates and low memory, where being restarted or shut down could silently lose the wakeup
  • Changed /model, /effort and /rename sent from claude agents to a busy background session to apply right away, without a confirmation, instead of when the turn ends
  • Changed the Claude apps gateway's minimum supported PostgreSQL version from 14 to 11
  • Changed the interactive session's WebSearch budget to refill over time (100 calls/hour; CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR sets the rate, 0 turns it off) instead of ending after 200 calls
  • Changed CLAUDE_CODE_DISABLE_ATTACHMENTS so a repository's .claude/settings.json or .claude/settings.local.json can no longer set it; shell, user and managed settings still can
  • Changed claude plugin update on a plugin loaded from a directory to print just its reason, without the "Failed to update plugin" prefix, as for built-in plugins
  • Changed the built-in gh api in cloud sessions: a host other than github.com set in GH_HOST or GH_REPO is now refused (use --hostname or a full URL), and stderr notes requests to other hosts
  • Changed the claude-api skill's Managed Agents examples to turn off the web tools unless the agent needs them and to use the auto permission policy
  • Self-hosted runners: Changed claude --environment <id> to create its session through the current Sessions API; printed and JSON session ids keep their session_… form
  • [VSCode] Changed message timestamps to show by default (turn them off with the Claude Code: Show Message Timestamps setting)
  • [Claude Tag] Changed the channel instructions limit to 8,192 characters instead of bytes, so non-English text gets the same room, and added a character count beside Save on the Configure page
pluginsagentspermissionsapitoolsvscode

Source: original entry ↗

More from Claude Code

Follow Claude Code to get its new changes in your feed and email digest.

Announcement2.1.299

Claude Code 2.1.299 Release

Major update adding file mention environment variables, idle token compaction for prompt caching, new APIs for mods and plugins (including image attachment handling and session identity), improved agent and skill controls, better tool management for eval runs, and numerous behavioral changes to plugin hooks, MCP requests, and session handling.

featuresimprovementsapipluginsmods
Feature2.1.296

Claude Code 2.1.296

This release adds new configuration options for managed policies, subagent behavior, workflow models, and retry handling. It includes improvements to the Claude apps gateway, Desktop Code tab settings, file reading capabilities, and session management across cloud and self-hosted environments. Pricing for Sonnet 5.5 cache reads has been updated to $0.10 per million tokens, and various UI and behavior refinements have been made to Claude Tag, VSCode, Chrome, and Slack integrations.

gatewaysubagentconfigpricingperformance
Feature2.1.295

Claude Code 2.1.295 Release

This release adds onFailure blocking for hooks, Program Status Protocol support for terminal status display, upstream timeout configuration, improved tool descriptions, and numerous UX enhancements including file handling in chat, better error messages, and protocol improvements across VSCode, Claude Tag, and MCP integrations.

hooksmcpterminalsgatewayui
See all Claude Code changes →