Field noteNov 12, 20265 min read1 source

Claude Code 2.1.323 adds experimental Code Mode and plugin engine version ranges

In one minute

Claude Code 2.1.323 adds an opt-in experimental mode in which Claude writes JavaScript to call tools, alongside version-range controls for plugins. For developers, the release changes how tool calls can be composed and gives plugin authors a way to prevent installations outside declared compatibility bounds.

What changed: Claude Code 2.1.323 adds experimental Code Mode, letting Claude call tools by writing JavaScript, and introduces plugin engine version ranges.

What happened

Anthropic’s Claude Code release notes identify version 2.1.323 as a release published on November 12. Its headline addition is Code Mode, described as an experimental, opt-in mode in which Claude writes JavaScript to call its tools. The release notes point users to documentation for enabling or disabling it. They do not describe it as a default mode, and the experimental label matters: teams should distinguish a capability to test from a settled change to ordinary Claude Code behavior.

The release also adds an engines["claude-code"] field to plugin.json. A plugin that falls outside its declared Claude Code version range will not be installed, updated, or loaded. Install and update operations select the newest plugin version that fits. This is a compatibility gate at the plugin boundary: authors can specify which Claude Code versions their plugin supports, and the client can use that declaration when selecting a version.

Other plugin-related additions make validation more informative. claude plugin validate now type-checks a plugin’s TypeScript hooks module; findings are warnings, while the --strict option makes them fail validation. The command also reports the nouns that a mod’s engine.create hook adds, withholds, or replaces. These checks give plugin authors more ways to inspect compatibility and behavior before distribution, but the release notes do not claim that validation proves a plugin safe or correct.

The notes list further changes outside those headline capabilities. Managed settings gain support for CLAUDE_CODE_AUTO_MODE_MODEL for Claude Desktop sessions using third-party providers, with the qualification that it takes effect once Claude Desktop includes this version. A menu appears when a model needs usage credits that are disabled or exhausted, with options to stop, switch to usage credits, or upgrade. Long-running hooks in claude -p and SDK sessions now emit a progress heartbeat every 30 seconds so a host such as Claude Desktop will not treat the turn as hung, once that host includes this version. The release notes also list many fixes, including permission handling, sandbox behavior, plugin loading, background sessions, and remote-control reconnection.

What the archive adds

New Runtime’s earlier coverage tracked Claude Code changelog and runtime changes in Claude Code 2.1.310 on October 24 and Claude Code 2.1.312 on October 28. This is a new release with new facts on a continuing product-change story: a JavaScript-based experimental tool-calling mode and declared plugin version ranges.

Trend signal

This release supports the view that the harness is a durable product boundary: Code Mode changes how Claude Code composes tool calls, while plugin compatibility rules govern extensions around that runtime. The fit is directional rather than proof of a broad shift. See Harness architecture outlives model choice.

Why now

The release adds controls that can be used as plugin authors distribute versions across Claude Code installations: a manifest-level engine range and compatible-version selection during install and update. The release notes give no separate rationale for the timing of Code Mode or the compatibility feature.

Why it matters

For teams that depend on Claude Code plugins, a declared engine range can reduce the chance that an installation or update loads a version the author says is incompatible. It also makes compatibility an explicit part of packaging rather than an informal convention that users must infer. The validation additions can help catch TypeScript hook type problems before a plugin is used, though warnings are not a security review and strict mode only changes how findings affect validation.

Code Mode is potentially more consequential for day-to-day agent behavior because it introduces JavaScript as a way for Claude to call tools. The release does not quantify changes in speed, reliability, token use, or success rate, so builders should treat it as an experiment to evaluate against their own tool workflows. A sensible rollout separates testing from deployment: verify the tool interactions and permission behavior in a controlled setup, then decide whether it belongs in a broader workflow.

Limits and uncertainty

The release notes call Code Mode experimental but do not report evaluation results, reliability measures, or the range of tool workflows it improves. They also do not quantify adoption or compatibility failures prevented by the new plugin engine field. The Desktop-specific settings and heartbeat behavior depend on Claude Desktop including this version, according to the notes. These are release-note claims; New Runtime has not independently tested the behavior.

Skill to build now

If you maintain a Claude Code plugin, declare the Claude Code version range it supports in plugin.json, then run claude plugin validate on the package. Use --strict in a validation step when type-check findings should block a release. For Code Mode, test a representative tool chain in a separate environment and record whether it changes correctness or operational behavior before enabling it for a wider group.

Reader takeaway

Claude Code 2.1.323 makes tool orchestration and plugin compatibility more explicit: Code Mode is an opt-in JavaScript-based experiment, and plugin manifests can declare which runtime versions they support. Plugin authors can act on the compatibility and validation changes now; teams should evaluate Code Mode cautiously rather than assume it is production-ready.

Evidence / sources

  1. 1github.com/anthropics/claude-code/releases/tag/v2.1.323
All Field Notes

Next reads

Read next

Open the graph
  1. 01topicClaudeExplore the claude topic hub.
  2. 02topicClaude CodeExplore the claude-code topic hub.
  3. 03topicAnthropicExplore the anthropic topic hub.
  4. 04archiveField NotesOpen the latest editorial analysis.
  5. 05sourcesSourcesSee the original sources this archive cites.
Who read this page?Machine requests, hidden until opened

Loading the privacy-safe route aggregate...

Open the JSON contract