Claude Code v2.1.290: Plugin Hook Tuning, Managed Agents Onboarding, and a Long List of Session Fixes

✍️ OpenClawRadar📅 Published: October 6, 2026🔗 Source
Ad

Claude Code v2.1.290 is out, and it's mostly a maintenance release with several plugin-hook API additions and a long fix list. The headline items are new fields exposed to mods and plugin hooks, plus a few CLI conveniences.

Plugin and mod hook changes

  • serverToolUses is now in the result of a mod's turn.step hook — it lists the tool calls the API ran itself (the advisor), each with id, name, input, start, and end.
  • agentId was added to the tool.check event of plugin hooks, so a hook can distinguish a subagent's permission check from the main session's.
  • ceiling was added to the question and verdict a mod's tool.check hook reads, naming the approval an organization requires for a tool.
  • ThemeKey and Color types were added to the plugin hooks typings so editors can autocomplete theme colors a mod's drawing can name.

claude plugin validate now lists each hook a mod registers at a gating site along with whether it has a .catch (as gatingHooks under --json). A related fix addresses plugin hooks with .catch being unloaded and their .catch skipped when the hook kept throwing.

CLI and onboarding additions

  • claude attach <name> and claude logs <name> now accept part of a session name instead of a full id.
  • /claude-api managed-agents-onboard <url> sets up the Managed Agents pattern a page describes as ant apply files.
  • /claude-api managed-agents-onboard <quickstart-name> builds a Console quickstart template (e.g. deep-researcher) using the ant CLI.
  • A Deny button was added to the Claude apps gateway's sign-in approval page — the waiting terminal stops within seconds.

Two new warnings: one when a managed settings file is a symlink to a file outside the managed settings folder, and one in /status and doctor when managed settings ignore user-configured sandbox allowRead paths or allowed domains.

Ad

Fixes worth noting

  • Requests behind proxies and gateways that reject beta headers with non-400 statuses, or together with a second beta, now succeed.
  • Long sessions with hundreds of images no longer get stuck on "Request rejected as unprocessable by the model" errors.
  • When the API's output content filter stops a reply while Claude is still thinking, the request is retried once before the error is shown.
  • Resumed subagents/teammates no longer lose earlier thinking and prompt cache after receiving a mid-run message.
  • WebFetch no longer silently drops text past 100,000 characters; it reports how much was unread and accepts an offset.
  • Scheduled tasks (/loop with interval, reminders) survive compaction on resume from this version on, and foreground scheduled tasks now fire after a ← or /background hand-off.
  • Headless --json-schema runs no longer exit non-zero with is_error: true when the connection drops after structured output is delivered.
  • Plan mode no longer lets the auto mode classifier approve non-read-only connector tools with a server-pushed ask policy.
  • Project CLAUDE.md, rules, or AGENTS.md symlinked outside working directories no longer load under permissions.blockReadsOutsideWorkingDirectories or a Read deny rule.
  • /ultrareview on Windows no longer drops uncommitted changes without warning when git stash create fails.
  • The background daemon's log no longer passes terminal control characters to the screen under claude daemon run / claude daemon logs; they show as \uXXXX escapes.

If you're running Claude Code in CI or behind a corporate proxy, the beta header fix and the managed settings warnings are probably the ones you'll care about most.

📖 Read the full source: GitHub Claude-Code

Ad

👀 See Also