From f999e927b5d0745efd8c87fc7753bae14d78d36d Mon Sep 17 00:00:00 2001 From: Kaloyan Aleksiev <67751757+kallyaleksiev@users.noreply.github.com> Date: Tue, 1 Jul 2025 18:11:25 +0100 Subject: [PATCH 1/2] json buffer: do not refresh before error --- .../_internal/transport/subprocess_cli.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/claude_code_sdk/_internal/transport/subprocess_cli.py b/src/claude_code_sdk/_internal/transport/subprocess_cli.py index 288b2e7..e050230 100644 --- a/src/claude_code_sdk/_internal/transport/subprocess_cli.py +++ b/src/claude_code_sdk/_internal/transport/subprocess_cli.py @@ -95,9 +95,10 @@ def _build_command(self) -> list[str]: cmd.extend(["--model", self._options.model]) if self._options.permission_prompt_tool_name: - cmd.extend( - ["--permission-prompt-tool", self._options.permission_prompt_tool_name] - ) + cmd.extend([ + "--permission-prompt-tool", + self._options.permission_prompt_tool_name, + ]) if self._options.permission_mode: cmd.extend(["--permission-mode", self._options.permission_mode]) @@ -109,9 +110,10 @@ def _build_command(self) -> list[str]: cmd.extend(["--resume", self._options.resume]) if self._options.mcp_servers: - cmd.extend( - ["--mcp-config", json.dumps({"mcpServers": self._options.mcp_servers})] - ) + cmd.extend([ + "--mcp-config", + json.dumps({"mcpServers": self._options.mcp_servers}), + ]) cmd.extend(["--print", self._prompt]) return cmd @@ -203,7 +205,6 @@ async def read_stderr() -> None: json_buffer += json_line if len(json_buffer) > _MAX_BUFFER_SIZE: - json_buffer = "" raise SDKJSONDecodeError( f"JSON message exceeded maximum buffer size of {_MAX_BUFFER_SIZE} bytes", ValueError( From a231b801783b24ed2b8c0ee6d006a2d1fe0c5564 Mon Sep 17 00:00:00 2001 From: Kaloyan Aleksiev <67751757+kallyaleksiev@users.noreply.github.com> Date: Tue, 1 Jul 2025 18:15:44 +0100 Subject: [PATCH 2/2] ruff: do not refresh change upstream formatting --- .../_internal/transport/subprocess_cli.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/claude_code_sdk/_internal/transport/subprocess_cli.py b/src/claude_code_sdk/_internal/transport/subprocess_cli.py index e050230..43de493 100644 --- a/src/claude_code_sdk/_internal/transport/subprocess_cli.py +++ b/src/claude_code_sdk/_internal/transport/subprocess_cli.py @@ -95,10 +95,9 @@ def _build_command(self) -> list[str]: cmd.extend(["--model", self._options.model]) if self._options.permission_prompt_tool_name: - cmd.extend([ - "--permission-prompt-tool", - self._options.permission_prompt_tool_name, - ]) + cmd.extend( + ["--permission-prompt-tool", self._options.permission_prompt_tool_name] + ) if self._options.permission_mode: cmd.extend(["--permission-mode", self._options.permission_mode]) @@ -110,10 +109,9 @@ def _build_command(self) -> list[str]: cmd.extend(["--resume", self._options.resume]) if self._options.mcp_servers: - cmd.extend([ - "--mcp-config", - json.dumps({"mcpServers": self._options.mcp_servers}), - ]) + cmd.extend( + ["--mcp-config", json.dumps({"mcpServers": self._options.mcp_servers})] + ) cmd.extend(["--print", self._prompt]) return cmd