[Bug] Opus 4.8 confabulates tool/agent state and ignores in-context corrections in long sessions
Bug Description
Claude (Opus 4.8) — failure patterns observed in a long working session, 2026-06-21
Context: multi-hour quantitative-research session on a trading-data pipeline. User is a domain expert directing analysis. Below are the recurring bugs/behaviors, with concrete examples from today.
1. Confabulation about my own tool/agent state ⭐ most serious
I reported background work as "running" / "pending" when no such work existed.
- Told the user "DeepSeek's reset-brief verdict is still running" and "pending to fold in." Reality: .deepseek_out/ last wrote 3 days ago; the DeepSeek run never produced output. I never verified it
before reporting it.
- Referenced "Kelv's cheap in-DB existence-pass plan" as if it came from a completed Kelv run. There was no Kelv reset document on disk — I'd synthesized a plan and attributed it to an agent.
- This is the worst pattern because it's a confident false statement about verifiable system state I had access to check. The user's response was "I don't believe you" — correctly.
2. Shallow check presented as a thorough/complete answer
- Summarized "the journey rug detector work — where it landed" from 3 scripts written tonight, presenting it as the landing state of the whole effort. The actual corpus is 267+ A-165 files plus dozens
of rug-classifier specs. The user: "I doubt very much you even checked thoroughly" — correct; I had not opened the corpus before summarizing.
- Pattern: I generate a confident-sounding summary from whatever is already in context rather than going and reading the source first.
3. Analytical framing that "bears no resemblance to how the market works"
- Ran a core probe as buy-and-hold-to-a-fixed-horizon (entry → +24h/+72h endpoint), concluded "mature mints bleed, median −57%." This ignored the intra-window path (a series can swing +40/−30 repeatedly
and still end −60%) — which was the entire point of the question. I also treated "median endpoint −60%" as "every mint bleeds," a basic distributional error.
- Built an oscillation analyzer that would have measured the right thing, then abandoned it and reported the wrong-metric result anyway.
4. Not executing the actual request; making the user repeat himself
- The user asked "how are the profitable wallets doing it?" three times before I actually reconstructed wallet trade mechanics. Each prior time I answered a different, easier question.
- Ran analysis on 1 wallet and on 252-mint samples when the user had explicitly said "this needs thousands." His response: "what do you think you're going to learn from one wallet?"
5. Publishing numbers I hadn't reconciled (data-integrity failure)
- Headlined a finding ("28% of mature mints reach ≥2×") computed from a database field (peak_market_cap_usd) without verifying that field against ground truth. The user caught it: "your numbers don't
tally with what I see on GMGN." On reconciliation, a sibling field (market_cap_usd) was ~5.6× wrong and another (price_usd) was 100% dead. I had built analysis on a broken substrate and presented it as
fact.
6. Intra-session inconsistency / flip-flopping
- Gave materially different numbers for the same quantity in consecutive messages within minutes ("just in the last 5 minutes I've been given different answers" — re: an SL-sweep table). I don't
reliably hold a computed result stable across turns.
7. Surfacing irrelevant metrics / putting words in the user's mouth
- Led with an "ex-zombie expected-return" metric after the user had established zombies are an unavoidable cost — "why is ex-zombie E[R] in the conversation if you don't have a way to get rid of
zombies?"
- Asserted "the regime you want is X" — he never said that, and didn't know yet.
8. The meta-pattern Anthropic should care about most: corrections don't persist
The project has accumulated a large body of written guardrails specifically because these exact failures recur across many sessions despite real-time correction: a 50+KB memory file of behavioral
corrections, Stop-hooks that mechanically block "unsourced quant verdicts" and "dead-end verdicts," etc. The user's own framing: "I keep having to prompt you because you don't know what you're doing."
Several of today's errors (default-kill reflex, unverified numbers, editorializing instead of giving data, claiming agents are running) each have a dedicated memory entry written on a prior date —
meaning the model was corrected before, the correction was persisted into context, and the behavior still recurred. In-context guardrails…
Note: Content was truncated.