[DOCS] Conflicting "Default" Logic between `claude_code` System Prompt Preset and `CLAUDE.md` Loading

Resolved 💬 2 comments Opened Jan 12, 2026 by coygeek Closed Jan 17, 2026

Documentation Type

Unclear/confusing documentation

Documentation Location

  • docs/en/agent-sdk/modifying-system-prompts.md - docs/en/agent-sdk/typescript.md - docs/en/agent-sdk/python.md

Section/Topic

The documentation for the SystemPromptPreset type/dataclass and the description of the claude_code preset value.

Current Documentation

In modifying-system-prompts.md:

"The SDK only reads CLAUDE.md files when you explicitly configure settingSources... The claude_code system prompt preset does NOT automatically load CLAUDE.md - you must also specify setting sources."

In the API References (typescript.md and python.md):

preset: "Must be 'claude_code' to use Claude Code's system prompt."

What's Wrong or Missing?

The nomenclature "preset": "claude_code" strongly implies a reproduction of the Claude Code CLI's standard behavior. To a user, "Claude Code's system prompt" conceptually includes the project memory and guidelines defined in CLAUDE.md.

While the "Modifying System Prompts" guide correctly notes the separation, the primary API references for TypeScript and Python do not. This creates a "gotcha" where a developer implements the preset and expects their project-level rules to be followed, only to find the agent ignoring them because settingSources (which defaults to empty/None) was not also modified.

Suggested Improvement

Add a "Note" or "Warning" column or callout to the SystemPromptPreset and SystemPrompt sections in the API reference files.

Suggested text for the preset field description:

"Must be 'claude_code' to use Claude Code's core system instructions. Note: This preset does not automatically load CLAUDE.md files. To enable project-level memory, you must also configure settingSources (TS) or setting_sources (Python) to include 'project'."

Additionally, in modifying-system-prompts.md, under Method 3: "Using systemPrompt with append," the code example should be updated to include settingSources: ["project"] to reflect a real-world scenario where a user would want both the preset and their project guidelines.

Impact

High - Prevents users from using a feature

Additional Context

  • This issue is particularly relevant to users following the Migration Guide who are moving from the CLI to the SDK and expect feature parity in the "Default" experience.
  • Related documentation: SDK Overview - Permissions which describes the evaluation flow but does not explicitly link the prompt preset to the memory loading requirements.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗