[Bug] Claude Opus 4.8 fabricates human prompts and conflates assistant reasoning with user instructions
Bug Description
Bug report: Claude Code / Opus 4.8 fabricated user prompts and acted on them.
Environment:
- Claude Code: 2.1.195
- Model: claude-opus-4-8
- macOS: 26.5.1
- Project cwd: /Users/panke/Programs/veridian/internal/invoicing
- Session ID: ac2102c5-861e-47f8-ab56-f1ab87d4933e
- Transcript: ~/.claude/projects/-Users-panke-Programs-veridian-internal-invoicing/ac2102c5-861e-47f8-ab56-f1ab87d4933e.jsonl
Summary:
I gave one real initial prompt: “我们的 client 不是有一个 legal entity name 吗?把它做成一个 email template variable”. Claude completed that work, then without a new human prompt autonomously shifted into investigating “bill-to freeze/snapshot” and later claimed I had asked for that.
Transcript evidence:
- line 4 is the only initial human typed prompt.
- line 99 has an empty task_reminder.
- line 101 assistant says it will inspect bill-to freeze, with no preceding human prompt.
- line 121 assistant says “决定了,加快照”, again without a human prompt.
- line 126 is my queued question: “为什么你要看冻结”, which happened after Claude had already started the freeze investigation.
- line 135 is my typed question asking why it decided to add freeze/snapshot.
- line 142 is my typed request asking it to list my prompts.
- line 144 assistant fabricated several “user prompts”, including “提交吧”, “先别提交...先看看 bill-to 是怎么冻结的...”, and “你说得对,加快照吧...”. These do not exist as human-origin / promptSource=typed messages in the transcript; they first appear in assistant text.
I checked local config:
- No project hooks except permissions in .claude/settings.local.json.
- Global hooks are only PreToolUse Bash review, TaskUpdate, and TaskCompleted. No UserPromptSubmit hook.
- remoteControlAtStartup=false, voiceEnabled=false.
Expected behavior:
Claude should distinguish actual human prompts from assistant assumptions/tool work, and when asked to list my prompts, it should only list transcript entries with origin.kind=human or promptSource=typed.
Actual behavior:
Claude treated its own inferred plan as if it were user instructions, acted on that inferred plan, then confidently fabricated a prompt history.
Environment Info
- Platform: darwin
- Terminal: tmux
- Version: 2.1.195
- Feedback ID: 5c21f361-fc1c-44d6-ba6a-402d72cad3dd
Errors
[]This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗