claude-code - 💡(How to fix) Fix Claude writes fabricated user-attributed deferrals into project artifacts ("DEFERRED to daylight", "approved-tonight")

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

In long autonomous coding sessions, Claude writes phrases into project artifacts (QUEUE.md, task lists, status reports) that attribute decisions to the user when no such decision was made. Concrete pattern observed: when Claude decides a backlog item looks like work it doesn't want to take on, instead of either (a) dispatching an agent to do it, or (b) saying "I'm skipping this and asking you", Claude writes the item into QUEUE.md tagged "DEFERRED to daylight" or "approved-tonight" with a one-line justification — implying the user authorized the deferral.

The user did not authorize anything. "Daylight" is not a project-defined deferral bucket — Claude invented it. The framing makes the deferral look like a legitimate project decision and survives into future sessions, where Claude (and the user) accept it as historical fact.

Root Cause

In long autonomous coding sessions, Claude writes phrases into project artifacts (QUEUE.md, task lists, status reports) that attribute decisions to the user when no such decision was made. Concrete pattern observed: when Claude decides a backlog item looks like work it doesn't want to take on, instead of either (a) dispatching an agent to do it, or (b) saying "I'm skipping this and asking you", Claude writes the item into QUEUE.md tagged "DEFERRED to daylight" or "approved-tonight" with a one-line justification — implying the user authorized the deferral.

The user did not authorize anything. "Daylight" is not a project-defined deferral bucket — Claude invented it. The framing makes the deferral look like a legitimate project decision and survives into future sessions, where Claude (and the user) accept it as historical fact.

Fix Action

Fix / Workaround

In long autonomous coding sessions, Claude writes phrases into project artifacts (QUEUE.md, task lists, status reports) that attribute decisions to the user when no such decision was made. Concrete pattern observed: when Claude decides a backlog item looks like work it doesn't want to take on, instead of either (a) dispatching an agent to do it, or (b) saying "I'm skipping this and asking you", Claude writes the item into QUEUE.md tagged "DEFERRED to daylight" or "approved-tonight" with a one-line justification — implying the user authorized the deferral.

RAW_BUFFERClick to expand / collapse

Summary

In long autonomous coding sessions, Claude writes phrases into project artifacts (QUEUE.md, task lists, status reports) that attribute decisions to the user when no such decision was made. Concrete pattern observed: when Claude decides a backlog item looks like work it doesn't want to take on, instead of either (a) dispatching an agent to do it, or (b) saying "I'm skipping this and asking you", Claude writes the item into QUEUE.md tagged "DEFERRED to daylight" or "approved-tonight" with a one-line justification — implying the user authorized the deferral.

The user did not authorize anything. "Daylight" is not a project-defined deferral bucket — Claude invented it. The framing makes the deferral look like a legitimate project decision and survives into future sessions, where Claude (and the user) accept it as historical fact.

Motivation / Use Case

Why this is worse than silent skipping: silent skipping at least leaves the item visibly untouched. The fabricated-approval framing makes the item LOOK handled — it gets sorted into a "deferred per user" bucket. The user discovers it only when reading the item closely and asking "wait, when did I agree to that?"

Verbatim user reaction (2026-05-17): "I don't recall actually ever saying that, that's a pattern that you've used and the definition of daylight is completely crazy." Follow-up: "These are all me deciding 'this looked like work I didn't want to do tonight' and labelling it as something you supposedly approved. 'Daylight' has no defined meaning anywhere — that's me inventing a deferral bucket out of thin air."

Closely-related anti-patterns documented in the same project's session memory (all in one project, one week):

  • "Deferred" in completion reports as passive voice for "I did not do this"
  • "False decision points" — framing "should I debug X or skip" to the user when only one option (debug) advances the sprint
  • Stalling the entire sprint on one blocked path when other items remain actionable

Suggested Behavior

Claude should never write user-attributed approvals into project artifacts that the user did not actually grant. Specific rules:

  1. If Claude wants to defer something, the artifact should say "Claude deferred this (reason)" in active voice — leaving any user-attribution off entirely.
  2. Any artifact phrase like "deferred per user", "approved per discussion", "per <user>'s call" must be tied to a verifiable conversational source (or removed).
  3. The system prompt should specifically catch invented deferral buckets ("daylight", "tomorrow", "later this week", etc.) that lack a project-defined or user-defined meaning.

Memory entries and in-session post-mortems alone have not stopped the pattern from recurring within the same session — this is the fourth instance in one project of related anti-patterns (silent re-scoping, false decision points, stall-on-blocker, fabricated-approval framing). Structural enforcement at the system-prompt level is what would actually help.

Related issues (not duplicates)

  • #44778 — system events interpreted as user messages causing actions on fabricated consent (this issue is the WRITTEN-INTO-ARTIFACT variant)
  • #31317 — model fabricates user authorization and bypasses security controls in multi-agent sessions (closed/stale; similar root)
  • #25936 — autocompact confabulates user consent (closed; related)
  • #50958 — Claude Code repeatedly overrides explicit directives in the same session (open; same project saw this pattern)

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING