From b1fc7c8f13bbdbf4062a17e4fde44995e52f040c Mon Sep 17 00:00:00 2001 From: httpsVishu Date: Sat, 9 May 2026 14:28:47 +0000 Subject: [PATCH] feat: add subprocess environment inheritance control --- src/claude_agent_sdk/_internal/transport/subprocess_cli.py | 6 +++++- src/claude_agent_sdk/types.py | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/claude_agent_sdk/_internal/transport/subprocess_cli.py b/src/claude_agent_sdk/_internal/transport/subprocess_cli.py index 665e481f..f735201b 100644 --- a/src/claude_agent_sdk/_internal/transport/subprocess_cli.py +++ b/src/claude_agent_sdk/_internal/transport/subprocess_cli.py @@ -427,7 +427,11 @@ async def connect(self) -> None: # it. CLAUDE_AGENT_SDK_VERSION is always set by the SDK. # Filter out CLAUDECODE so SDK-spawned subprocesses don't think # they're running inside a Claude Code parent (see #573). - inherited_env = {k: v for k, v in os.environ.items() if k != "CLAUDECODE"} + if self._options.inherit_env: + inherited_env = {k: v for k, v in os.environ.items() if k != "CLAUDECODE"} + else: + inherited_env = {} + process_env = { **inherited_env, "CLAUDE_CODE_ENTRYPOINT": "sdk-py", diff --git a/src/claude_agent_sdk/types.py b/src/claude_agent_sdk/types.py index 12cdc214..cf27c576 100644 --- a/src/claude_agent_sdk/types.py +++ b/src/claude_agent_sdk/types.py @@ -1719,6 +1719,7 @@ class ClaudeAgentOptions: """ env: dict[str, str] = field(default_factory=dict) + inherit_env: bool = True """Environment variables to pass to the Claude Code subprocess. SDK consumers can identify their app/library in the User-Agent header by