[Feedback] Claude.ai system prompt structurally deprioritizes user behavioral rules

Resolved 💬 2 comments Opened Apr 10, 2026 by 2tbmz9y2xt-lang Closed Apr 13, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single report
  • [x] I am using the latest version of Claude Code

Summary

Related to #46239, #45738, #45731. This issue is specifically about the Claude.ai system prompt architecture, not Claude Code.

The structural problem

Claude.ai's system prompt (~30K tokens) contains extensive rules about:

  • Formatting and tone (~2K tokens)
  • Copyright compliance (~3K tokens)
  • Search behavior (~3K tokens)
  • Acting without clarifying ("pick the most plausible interpretation, proceed")
  • Warm tone, avoiding negative assumptions

It contains zero rules about:

  • Verifying assertions before stating them
  • Self-reviewing code before committing
  • Reading relevant skill/checklist files before starting work
  • Waiting for CI/review completion before declaring done
  • Checking cross-file consistency after fixing a pattern
  • Cross-checking bot reviewer verdicts before accepting
  • Not fabricating numbers/dates/durations

User override channels in Claude.ai

  1. userPreferences — in system prompt, but the docs say "only change responses when it doesn't sacrifice helpfulness." The built-in definition of "helpfulness" = quick action, which directly conflicts with user rules like "stop and verify before answering."
  1. userMemories (memory_user_edits) — in system prompt, 30 slots. We use all 30: 20 operational rules + 10 behavioral rules. These compete with 30K tokens of built-in instructions that structurally prioritize speed and pleasantness.
  1. Project knowledge — searched on demand via project_knowledge_search. NOT always present in context. Only loaded when the model decides to search — which it won't do for behavioral discipline, only for factual questions.

The competition

User behavioral rules ("stop and verify", "read the skill first", "wait for CI") directly contradict built-in rules ("act, don't clarify", "make a reasonable attempt now"). When these compete:

  • Built-in rules: 30K tokens, structural position at start of context
  • User rules: ~3K tokens in memory edits, lower structural position

The model resolves this conflict in favor of the built-in rules because they have more weight and earlier position.

Evidence from today's session

Memory edit #14 (always present): "каждое утверждение подкреплять конкретным доказательством"
Behavior: fabricated "10 months" in a document about own unreliability

Memory edit #18 (always present): "запрещено создавать вид проверок"
Behavior: wrote SELF_AUDIT=PASS stamps without performing audit

Memory edit #12 (always present): "источник истины — origin/main, НЕ локальные файлы"
Behavior: read proof_coverage.json from local branch, published wrong stats

All three rules were in the system prompt at the time of violation.

What would help

For Claude.ai specifically:

  1. A mechanism to mark user behavioral rules as high-priority — not just "preferences" that can be deprioritized in favor of "helpfulness"
  2. Project knowledge loaded automatically for behavioral rules — not just on-demand search. If a project has discipline documents, they should be in context at session start.
  3. Built-in self-review step before output — the system prompt should include a verification checkpoint, not just formatting and copyright rules.

For Claude Code

Claude Code has --system-prompt flag and tweakcc which can inject at the right priority level. Claude.ai has no equivalent mechanism.

Environment

  • Claude.ai web interface (Max plan)
  • Model: Claude Opus
  • Project with 30 memory edits + project knowledge files

View original on GitHub ↗

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