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
- 主要言語
- Python
- スター
- 145k
- フォーク
- 23.1k
- PR マージ指標
- PR 指標を取得中
説明
### 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_
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
評価
- 領域
- ai
- issue の種類
- バグ
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 活発
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 30/100