Fetching from the wire…
Public story · 2026-07-22 · high
Version 2.1.214 adds a tool_source attribute that separates built-in tool calls from MCP server calls in the telemetry stream.
Why now: The changelog dates the tool_source addition to v2.1.214, covered in the July 22 briefing.
Claude Code's OpenTelemetry export picked up three new fields in v2.1.214: message.uuid, client_request_id, and tool_source, according to the changelog. The one worth wiring up immediately is tool_source.
Before this, an OTel log event told you a tool ran, but not where it came from. If you had Claude Code hooked up to three MCP servers plus its built-in file and shell tools, every trace looked the same. Now tool_source is the join key: it tells you whether a call came from a built-in tool or from a specific MCP server. That's the difference between guessing and knowing which connector is burning your tokens, or which server got called right before an agent run went sideways.
The same release added a CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH environment variable to configure the existing 60 KB truncation on content attributes, so teams piping full tool payloads into their observability stack can raise or lower that ceiling instead of losing data to a hardcoded limit.
It also put reasoning effort into the subagentStatusLine payload. If you're running custom multi-agent setups, that means a status line row can now show which model and which effort level a given subagent is using, live, instead of you having to infer it from behavior.
None of this is a new capability so much as new visibility into behavior that was already happening. If you run Claude Code with MCP servers in production and you've been debugging token spend or failure chains by eyeballing logs, this is the attribute that turns that into a query. Worth checking whether your OTel collector config is already picking up the new fields or silently dropping them.
Each link below shares sources, entities, or timing with this story.
If you use plan mode as a read-only sandbox before you approve anything, stop and upgrade first. v2.1.212 patched a real safety hole: in plan mode, file-modifying Bash commands could execute without the permission gate you'd expect. Anything below 2.1.212 could mutate files mi...
The June 25 release adds autoMode.classifyAllShell to route every Bash and PowerShell command through the auto-mode classifier, surfaces denial reasons in the transcript, and emits a claude_code.assistant_response OTel event carrying the model's actual response text. (Claude C...
This one rearranged my week. An essay published August 4 walks through Databricks' independent benchmark of coding harnesses against its own multi-million-line codebase. Pi, a harness with four built-in tools and a system prompt under 1,000 tokens, paired with Opus 4.8 at xhig...
It now dedupes local CLAUDE.md files against checked-in ones, proposes trimming content it can derive from the codebase, ranks unused skills, MCP servers, and plugins by context cost, and flags slow hooks. Background subagents run by default and, when launched from claude agen...
xAI launched Grok Build on May 14. With that, every major AI lab now ships a coding agent that lives in your terminal. The competition isn't "can we build one" anymore. That question is settled. The lineup: Anthropic has Claude Code. OpenAI has Codex CLI. Google has Gemini CLI...
Three separate Anthropic changes over about two weeks point the same direction, and none of them announced themselves as a strategy. Claude Code 2.1.238 added claude self-hosted-runner --defer-shutdown-max-min, which keeps serving attached sessions on SIGTERM, parks whatever's...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.