Claude Code v2.1.300 Update: OpenTelemetry Enhancements and Multiple Core Fixes
Claude Code v2.1.300 Update: OpenTelem…
Claude Code v2.1.300 strengthens OpenTelemetry observability and mod extensions while fixing multiple agent, cloud session, and VS Code defects.
Claude Code v2.1.300 is an update focused on stability fixes and observability enhancements. On the observability side, the api_request event adds 5-minute and 1-hour cache write token fields, and trace spans introduce GenAI semantic convention attributes so trace data can be recognized by standard GenAI dashboards. The mod system adds virtualText, the $.ui.view view API, agent.spawn prompt and model overrides, a prompt.change hook, and a dir attribute for the Text component. Agents and cloud sessions fix edge cases like sub-agents disappearing, container replacement misjudged as loss, PR status refresh interruption, and organizational policy reads hanging for 5 minutes, and improve the degradation strategy when MCP tool schemas are rejected. The VS Code extension resolves detailed defects such as drag-and-drop path issues on Windows and WSL, misleading Thinking toggles, and continued requests after quick mode quota is exhausted.
Claude Code v2.1.300 is a release focused primarily on stability fixes and observability enhancements, covering OpenTelemetry event refinements, VS Code extension interaction improvements, and fixes for multiple edge cases in background agents and cloud sessions. For teams relying on Claude Code for daily development, this version is worth upgrading to first.
Significant OpenTelemetry Observability Enhancements
This update makes notable investments in observability. The api_request event gains two new fields, cache_creation_5m_tokens and cache_creation_1h_tokens, splitting cache writes by lifetime so teams can precisely analyze the cost and hit rates of different caching strategies.
At the same time, trace spans now include GenAI semantic convention attributes, including gen_ai.provider.name, gen_ai.conversation.id, gen_ai.tool.name, and error.type. This means that when connecting to monitoring platforms already part of the OpenTelemetry ecosystem, Claude Code's trace data can be directly recognized by standardized GenAI dashboards, eliminating the need for custom mapping work.
The issue where the tool_result event was previously missing git_commit_id for repositories using git commit -q with reftable reference storage has also been fixed.
OpenTelemetry is a vendor-neutral observability framework hosted by the CNCF that unifies the collection and export protocols for three signal types: traces, metrics, and logs. The so-called "events" and "trace spans" are core data models within it: a span represents the start and end time and context of a single operation, and multiple spans are linked via trace id into a complete call chain; events are timestamped structured records attached to spans.
GenAI semantic conventions are attribute naming standards defined by the OpenTelemetry community for generative AI scenarios—for example, gen_ai.provider.name identifies the model provider, gen_ai.tool.name identifies the tool being invoked, and gen_ai.conversation.id associates the same session. The benefit of following these conventions is that data can be directly parsed by ready-made GenAI panels in platforms like Grafana, Datadog, and Honeycomb, without teams needing to maintain their own field mapping logic.
Capability Expansions for the Mod and Plugin System
For mod developers, v2.1.300 adds several APIs. virtualText allows drawing text in the prompt box that does not enter the draft or submitted content, suitable for prompt-style decorations. The new $.ui.view({ agentId }) lets mods display a given agent's conversation history in the main view, while $.ui.view({}) returns.
The agent.spawn hook now supports overriding the prompt and model of workflow agents, whereas previously it could only reject workflow agents. The new prompt.change hook fires when the prompt box text changes without manual editing, such as recalling history, clearing, undoing, or plugin population.
The Text component gains a new dir attribute for rendering right-to-left text; in Windows and the VS Code terminal, that line is laid out right-to-left and right-aligned.
On the fix side, prompts rewritten or discarded by a mod's prompt.submit hook are no longer incorrectly logged as manual input; the prompt.edit hook now also responds to newlines entered via the chat:newline keybinding (Ctrl+J or a rebound Enter).
In the context of Claude Code, "mod" refers to third-party plugins that extend client behavior through official APIs, understood as modules that inject custom UI and logic into the IDE or terminal host. The "hooks" mentioned in the text are a typical extension point design: the host invokes registered callbacks at specific lifecycle points (such as before prompt submission or when text changes), giving plugins an opportunity to observe or rewrite data.
prompt.submit, prompt.edit, prompt.change, and agent.spawn all belong to this category of hooks, differing in trigger timing and the degree of intervention allowed—some can only read, while others allow rewriting or rejection. $.ui, agent, and Text are the runtime objects and components exposed to mods, used to render interfaces or manipulate agent behavior. Understanding this model helps determine whether a given version update adds new capability surfaces or merely fixes hook invocation consistency.
Key Fixes for Agents and Cloud Sessions
Several issues affecting usability have been fixed in background agent and cloud session scenarios. The issue where sub-agents disappeared from /tasks shortly after receiving a message has been resolved, and completed parent agents no longer drop out of the breadcrumb navigation. When a cloud session container is replaced, background agents that had already been recovered once are no longer incorrectly marked as lost.
claude agents no longer stops refreshing all PR statuses when pull request data is incomplete. In cloud sessions, when any organizational policy cannot be read, instead of hanging for 5 minutes each round, it now exits quickly and explains the reason.
A notable fix: when the API rejects the input schema of an MCP tool, Claude Code sends that tool without parameters for the remainder of the current conversation round, avoiding failing with a 400 error every round.
MCP (Model Context Protocol) is an open protocol that lets models invoke external tools and data sources in a standard way, open-sourced by Anthropic at the end of 2024. Each MCP tool declares its input parameter structure via JSON Schema, based on which the model generates invocation parameters, and execution occurs only after server-side validation passes.
When the server rejects a tool's input schema, it means the parameters generated by the model do not match the declaration, and the request returns a 400 error. Without handling, the model tends to repeatedly generate the same type of parameters in subsequent interactions within the same conversation round, causing continuous failures. The fix strategy mentioned in the text is: once a schema rejection occurs, call that tool without parameters for the remainder of the round, effectively a degradation treatment that ensures the conversation can continue without being repeatedly interrupted.
Interaction Detail Improvements in the VS Code Extension
A large number of specific issues have been fixed in the VS Code extension. On Windows, Shift-dragging files into the prompt box no longer inserts unreadable /c:/… paths; in WSL, SSH, and Dev Container windows, Shift-dragging no longer inserts empty content.
A new claudeCode.attachSelection setting can prevent editor-selected text from being automatically added to messages. The Thinking toggle no longer appears on always-thinking models, avoiding confusion. Quick mode automatically turns off after usage quota is exhausted, rather than continuing to send rejected requests.
Ctrl+Alt+F now correctly opens Find rather than toggling the Focus view. On macOS, the process for inspecting other window sessions is now launched directly as /bin/ps, no longer searching PATH each time.
Claude Desktop and Remote Control Updates
The Code tab in Claude Desktop now applies managed settings when forceLoginGatewayUrl specifies an Anthropic-operated gateway. Remote control server connection renewal no longer gives up due to brief login errors (such as a locked keychain), retrying and prompting to run claude /login.
The remote control diff view fixes the issue of displaying deleted and renamed files as modified, requiring local Claude Code v2.1.296 or higher. claude remote-control removes the invalid --sandbox and --no-sandbox flags, which now error and exit when passed, and sandbox.enabled should be used in settings instead.
Other Improvements and Behavior Changes
Claude in Slack adds support for Slack Connect channels, allowing owners or Claude Tag admins to let Claude respond in channels shared with other organizations, off by default. New private Allow once / Deny cards let connector operations wait for approval rather than being immediately denied.
The issue where tool search (ENABLE_TOOL_SEARCH=auto) shuts down mid-conversation due to MCP server reconnection has been fixed. /branch no longer drops messages when encountering Unicode line separators, and claude purge no longer skips subfolder projects containing such characters.
Gzip compression is now enabled by default for large requests, effective even when telemetry is off, and can be disabled via CLAUDE_CODE_GZIP_REQUEST_BODIES=0. Local session records now also save the system prompt, tools, and parameters for each API request, making shared session records fully reproducible.
Gzip compression is an HTTP-layer body compression method that significantly reduces the network transmission volume of large request bodies, at the cost of a compression/decompression CPU overhead on both the client and server. For coding agents that send large amounts of context (long prompts, tool definitions, file contents), request bodies often reach hundreds of thousands of tokens, and enabling gzip typically brings noticeable latency and bandwidth benefits—hence this update sets it as the default on, with a fallback via the CLAUDE_CODE_GZIP_REQUEST_BODIES=0 environment variable.
Local session records saving the complete system prompt, tool list, and parameters for each API request addresses reproducibility: in the past, when sharing session records, only the message content was retained, and the recipient could not reconstruct the actual input the model saw at the time, making troubleshooting and comparative experiments prone to distortion. Complete snapshots make sessions replayable and also facilitate auditing the impact of changes to prompts and tool configurations.
One-line Summary
Claude Code v2.1.300 strengthens OpenTelemetry observability and mod extension capabilities, and fixes multiple defects in agents, cloud sessions, and VS Code.
Paragraph Summary
Claude Code v2.1.300 is an update focused primarily on stability fixes and observability enhancements. On the observability side, the api_request event gains 5-minute and 1-hour cache write token fields, and trace spans introduce GenAI semantic convention attributes, enabling trace data to be directly recognized by standard GenAI dashboards. The mod system adds virtualText, the $.ui.view view API, agent.spawn's ability to override prompt and model, as well as the prompt.change hook and the Text component's dir attribute. Agents and cloud sessions fix edge cases such as sub-agents disappearing, container replacement being misjudged as loss, PR status refresh interruption, and organizational policy reads hanging for 5 minutes, and improve the degradation strategy when MCP tool schemas are rejected. The VS Code extension resolves detailed defects such as abnormal drag-and-drop paths on Windows and WSL, misleading Thinking toggles, and continued requests after quick mode quota exhaustion.
Related articles

Chain of Thought Isn't Just for AI: How Humans Can Use CoT to Improve Thinking Quality
Chain of Thought isn't just a prompt trick for large models. Starting from a Hacker News discussion, this article analyzes why CoT works for human thinking too, breaks down actionable ways to transfer it, and highlights the key differences between human CoT and machine CoT.
Cloudflare Teams Up with OpenAI: Closi…
Cloudflare Teams Up with OpenAI: Closing the Loop from Vulnerability Discovery to Defense with AI
Cloudflare uses OpenAI Daybreak to investigate security vulnerabilities and generate reviewable remediation plans, while developers use Codex to boost coding efficiency and quality.

Orca Multi-Agent Orchestration in Practice: A Guide to Parallel Collaboration with Claude and Codex
Orca is Stable AI's free open-source agent workbench supporting 34 agents like Claude Code and Codex in parallel. Learn its Git worktree isolation, multi-model orchestration, and mobile management.