From 9a64bc3a64028a9bf58a31702887b9ef3127d0d9 Mon Sep 17 00:00:00 2001 From: Anudeep Yegireddi Date: Fri, 29 Aug 2025 22:36:52 -0700 Subject: [PATCH] fix: propagate user cwd to subprocess environment (#136) The subprocess transport was ignoring user-specified cwd from ClaudeCodeOptions, causing the working directory preference to be overridden by os.environ. This fix ensures the CWD environment variable is properly passed to child processes. - Add PWD env var when self._cwd is set in SubprocessCLITransport - Fixes issue where custom working directory was not respected - Maintains backward compatibility Tests: All existing tests pass --- src/claude_code_sdk/_internal/transport/subprocess_cli.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/claude_code_sdk/_internal/transport/subprocess_cli.py b/src/claude_code_sdk/_internal/transport/subprocess_cli.py index 4d6edce..619b68e 100644 --- a/src/claude_code_sdk/_internal/transport/subprocess_cli.py +++ b/src/claude_code_sdk/_internal/transport/subprocess_cli.py @@ -182,6 +182,9 @@ class SubprocessCLITransport(Transport): "CLAUDE_CODE_ENTRYPOINT": "sdk-py", } + if self._cwd: + process_env["PWD"] = self._cwd + self._process = await anyio.open_process( cmd, stdin=PIPE,