[Bug] Opus 4.8 confabulates tool/agent state and ignores in-context corrections in long sessions

Open 💬 0 comments Opened Jun 21, 2026 by kamarand-coder

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.

View original on GitHub ↗