Skip to content

v0.1.0 breaking change not implemented: system_prompt still defaults to Claude Code preset #289

@yokomotod

Description

@yokomotod

Issue

The v0.1.0 migration guide states:

"The SDK no longer uses Claude Code's system prompt by default."

However, this breaking change is not implemented.

Current Implementation

In subprocess_cli.py lines 99-110, when system_prompt=None (the default):

if self._options.system_prompt is None: pass

The SDK passes no --system-prompt argument to the Claude CLI, which means the CLI uses its own default behavior.

This results in system_prompt=None behaving identically to system_prompt={"type": "preset", "preset": "claude_code"} - both use the Claude Code system prompt, contradicting the migration guide's statement that the default changed.

Expected Behavior

To enforce the breaking change, the SDK should explicitly pass an empty system prompt:

if self._options.system_prompt is None: cmd.extend(["--system-prompt", ""]) 

References

Environment

  • SDK version: 0.1.5

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions