feat: add toolAliases support to Python SDK#982
Open
nickovs wants to merge 1 commit into
Open
Conversation
Add the `tool_aliases` option to `ClaudeAgentOptions`, mirroring the
TypeScript SDK's `toolAliases` feature. When set, the mapping is sent
in the initialize control-protocol message so Claude routes built-in
tool calls through the named MCP tools instead.
For example, `tool_aliases={"Read": "mcp__fakefs__Read"}` causes every
built-in Read call to be handled by a custom in-process MCP server.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR addresses issue #980.
The code here adds the
tool_aliasesoption toClaudeAgentOptions, mirroring the TypeScript SDK'stoolAliasesfeature. When set, the mapping is sent in the initialize control-protocol message so Claude routes built-in tool calls through the named MCP tools instead.For example,
tool_aliases={"Read": "mcp__fakefs__Read"}causes every built-in Read call to be handled by a custom in-process MCP server.Tests are added to cover use of this with both the
ClaudeSDKClientclass and thequeryfunction. I also conducted end user testing to ensure that it functions as expected and the same as the TypeScript version.