feat: add cli_path support to ClaudeAgentOptions #235
Merged
+54
−72
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.
Summary
Adds support for passing custom Claude Code CLI paths through
ClaudeAgentOptions
, allowing organizations with non-standard installation locations to specify the CLI path explicitly.Motivation
As noted in #214, organizations may install Claude Code CLI (or wrapped versions) at custom locations and prefer to provide those paths instead of relying on the SDK's default search logic. The transport layer already supported
cli_path
, but it was never exposed through the public API.Changes
cli_path: str | Path | None = None
parameter toClaudeAgentOptions
dataclasscli_path
fromconfigured_options.cli_path
toSubprocessCLITransport
cli_path
fromoptions.cli_path
toSubprocessCLITransport
Implementation Details
The
SubprocessCLITransport
constructor already accepted acli_path
parameter (line 40 of subprocess_cli.py), but it was never passed from the client layers. This PR completes the wiring by:ClaudeAgentOptions
interfaceInternalClient.process_query
andClaudeSDKClient.connect
)Usage Example
Testing
Fixes #214