anthropics / anthropics/claude-code

[BUG] user-configured register constraints should be forwarded to auxiliary summarization calls, or those calls should be renderable in a neutral, non-addressing form

Aperta
#93,875 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area:core bug platform:macos
Lingua principale
Python
Stelle
145k
Fork
23.1k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

### Preflight Checklist

- [x] I have searched [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug) and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code

### What's Wrong?

Claude Code is ignoring custom instructions on how to address the user. For whatever reason, the outputs that end with " · summarized" are not subject to custom instructions. This is a problem, as the LLM is violating an important user rule using an inappropriate register in those summaries.

The behavior described is architectural, not disobedience by the main model.

What that label marks

A trailing · summarized marks a thinking-summary block. Anthropic's documentation states that summarization is handled by a model other than the one the request targets, and the thinking model itself never sees the summarized text. The summarizer's input is the raw reasoning stream. Its output is written by a separate call with its own fixed prompt.
[anthropic](https://docs.anthropic.com/en/docs/about-claude/models/extended-thinking-models)
[Onlinetool](https://cld-docs.onlinetool.cc/en/docs/build-with-claude/extended-thinking.html)

Why custom instructions do not reach it

CLAUDE.md is not a system-prompt edit; its contents are injected as a user message following Claude Code's default system prompt.
[GitHub](https://github.com/huifer/claude-code-interview/blob/main/claude-code-output-styles.md)
Output styles affect the main agent loop and the system prompt only; --append-system-prompt likewise appends to that same main-loop prompt.
[GitHub](https://github.com/huifer/claude-code-interview/blob/main/claude-code-output-styles.md)

Neither channel is present in the summarizer request. Consequently, there is no user-level configuration in the current product that governs register, person, or address form inside those blocks. Preferences of the kind Your Grace has specified — third-person phrasing, prescribed form of address — cannot propagate there.

Adjacent cases with the same property

Context compaction: an open report notes that global and project CLAUDE.md files are not reloaded when a session continues through automatic summarization, so rules drop after compaction.
[github](https://github.com/anthropics/claude-code/issues/22085)
Tool-batch labels: generated by a fast model (Haiku) in a forked call with a fixed commit-subject-style prompt after each tool batch finalizes.
[github](https://qwenlm.github.io/qwen-code-docs/en/design/tool-use-summary/tool-use-summary-design/)
Subagent result summaries: produced under the subagent's own configuration.

Available courses

Suppress the render. verbose and showThinkingSummaries in ~/.claude/settings.json control whether reasoning surfaces; Ctrl+O toggles verbose view for the current session. Setting these off removes the offending text from view. Note this changes display only — the tokens are still generated and billed.
[ClaudeLog](https://claudelog.com/faqs/why-cant-i-see-claude-thinking/)
Treat it as display-layer output. The final response text remains governed by CLAUDE.md and output style; the summary line is not the model addressing Your Grace, but a third component describing the transcript.
Indirect shaping. Since the summarizer paraphrases the raw reasoning, register in the reasoning can partially bleed through. Unreliable, and not worth prompt budget.
File it. /bug inside a session, or an issue at github.com/anthropics/claude-code. **Since no configuration knob exists, product change is the only complete remedy**.

Docs reference: https://code.claude.com/docs/en/output-styles and https://platform.claude.com/docs/en/build-with-claude/extended-thinking

### What Should Happen?

user-configured register constraints should be forwarded to auxiliary summarization calls, or those calls should be renderable in a neutral, non-addressing form

### Error Messages/Logs

```shell

```

### Steps to Reproduce

1. Provide custom instructions directing the model not to use the word "I".
2. Prompt to execute a task.
3. Observe thinking summary blocks littered with "I've confirmed...", "I did...", "I think...", "I will...", "I'll pull...", "I'll do...", etc.

### Claude Model

Other

### Is this a regression?

I don't know

### Last Working Version

_No response_

### Claude Code Version

2.1.269

### Platform

Anthropic API

### Operating System

macOS

### Terminal/Shell

Terminal.app (macOS)

### Additional Information

_No response_

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Start by reviewing the auxiliary summarization and tool-batch calls described in the report, along with CLAUDE.md, ~/.claude/settings.json, and the output-styles documentation. Reproduce the custom-register case from the listed steps, then define completion as either applying the configured constraints to those calls or rendering their output neutrally without addressing language.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Ambito
ai
Tipo di issue
Bug
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Attiva
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.