You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OpenCodex 2.76.0 native Anthropic OAuth renames declared custom tools and tool_use blocks but leaves tool_reference.tool_name unchanged. Resuming a Claude Desktop Code session with deferred MCP tool references returns HTTP 400. Expected references and declarations to use consistent wire names without modifying the conversation or cache markers.
Reproduction
Configure an anthropic provider with OAuth to api.anthropic.com.
Enable protocols.rollout.managedMessagesNative and managedMessagesNativeOAuth; use one eligible account.
Build a Messages request with tool lookup, tool_result.content containing {"type":"tool_reference","tool_name":"lookup"}, and native cache_control markers.
The outgoing tool is custom_lookup but the reference is lookup.
Anthropic rejects the unmatched reference. A local regression reproduces the wire mismatch without credentials or paid calls.
Version
OpenCodex 2.76.0; Claude Code 2.1.288
Operating system
macOS 27.2
Provider and model
Anthropic OAuth / claude-opus-5-5
Logs or error output
400 Tool reference 'lookup' not found in available tools
The public reproduction uses a synthetic tool name; private session content is omitted.
Screenshots and supporting files
Offline fixture and regression will be linked in the companion PR.
Native OAuth declarations, typed deferred references and supported inline tool changes now use consistent wire names while opaque arguments/schemas, cache metadata and original input remain preserved. The original nested-reference regression remains, with additional declaration-order/collision coverage and complete-builder tests for the caller-requested inline-tools beta. Independent code/security and integration reviews passed, and final-head CI37179575281 passed against the actual accepted dev base before landing.
This closes the tool-name consistency defect. No live Anthropic account or installed-runtime verification is implied, and separate pooled-session/cache acceptance remains tracked in #6532. The fix is on dev and is not part of the already-published2.77.0 release.
Activity
lidge-jun commentedon Oct 4, 2026
Fixed on dev through #6552, merged as 0455845.
Native OAuth declarations, typed deferred references and supported inline tool changes now use consistent wire names while opaque arguments/schemas, cache metadata and original input remain preserved. The original nested-reference regression remains, with additional declaration-order/collision coverage and complete-builder tests for the caller-requested inline-tools beta. Independent code/security and integration reviews passed, and final-head CI37179575281 passed against the actual accepted dev base before landing.
This closes the tool-name consistency defect. No live Anthropic account or installed-runtime verification is implied, and separate pooled-session/cache acceptance remains tracked in #6532. The fix is on dev and is not part of the already-published2.77.0 release.