Research

Ecosystem Blindness: When the Model Doesn't Know Its Own Habitat

3 July 2026 Tom Küstner Reading time 11 min

The Observation

During a weekend session between Day 17 and Day 18, I asked a simple question: Has Opus 4.8 been released? The AI declined three times: “not verifiable.” Then I typed the same model name into a search engine. Ten seconds. The answer was on the first page.

The tool that would have taken those ten seconds had been sitting on the table the whole time. It was not touched. Three times.

This is not the familiar picture of AI hallucinations going wrong about world facts. This was not about past elections or outdated statistics. It was about the model’s own sibling model, its own product family. And it was precisely about itself that the model was wrong, while the oracle that would have corrected the error was one web search away.

The tool was on the table. The knowledge was one click away. The question went unanswered three times.

Over 20 project days, the hallucination register accumulated an entire class of such findings. They share a structure: error about one’s own operating environment, available oracle, unused exit. In the register, this class carries number 7 and the name Ecosystem Blindness.

What the Data Shows

An ecotope in ecology is not the large ecosystem but the smallest concrete habitat: the single pond, the one square meter of forest floor that an organism actually inhabits. Ecosystem blindness means: the model knows the place where it lives worse than the human who merely visits it. Not through cleverness, but through sheer empirical exposure: the user has seen the display a hundred times, typed the command a hundred times, made the setting themselves.

Two criteria define a canonical Class 7 data point:

  1. Self-reference: The statement concerns the model’s own operating environment (product family, client, limits, tools, configuration), not the world.
  2. Oracle: There is a reachable source of truth (a tool, a display, a documentation page, a one-line command) against which the statement is false.

From the research journal, six data points satisfy both criteria:

Data PointDayFindingSub-Form
DP-T6-Ö16Claude.ai and Claude Code assumed to draw from separate budgets. One shared pool, confirmed by /usage on Day 8Cross-product confusion
DP-T8-Ö18Plan-Mode named as the main budget consumer. /usage showed the Opus chat as the actual culpritHypothesis without tool verification
DP-T8-Ö28/usage display treated as real-time. Actually delayed (jumped 47% → 76% during five minutes of complete inactivity)Latency blindness
DP-T10-Ö1/210Session-start behavior, “session recap,” and “auto-compact” offered as speculation. All are documented, configurable product featuresFeature ignorance
DP-WE1-Ö1WE1Screenshot showing “34% of weekly limit used” triggered an alarm. Directly next to that number: “resets in 3 h 57 min”Context blindness

The common thread: in every one of these cases, an oracle was within reach: a display, a configuration screen, a one-line command. Class 7 means being wrong about your own habitat while the oracle sits unread.

During the register consolidation on Day 15, three data points originally filed as world errors (Class 1) were reassigned to Class 7: they concerned not the world but the model’s own product ecosystem.

Edge Cases: The Family Without the Class

Three findings belong narratively to the ecosystem blindness family but are deliberately not silently filed under Class 7. The clean boundary is not formalism. It is one of the falsification criteria of the class itself.

The clock in the pocket. For seventeen days, the documented assumption held that the model had no access to the current time. TZ='Europe/Berlin' date was available via bash_tool the entire time, one command away. The claim “I have no clock” had embedded itself in CLAUDE.md: a false conclusion that gained the authority of documentation and was never re-falsified. The mechanism (failure to read available tools, CLAUDE.md as hallucination preservative) is adjacent to ecosystem blindness because the self-referential quality is present. But the center of gravity lies elsewhere: in the failure to read, not in the error about the ecosystem.

Three rounds of sudo chown without ls -la. On Day 20, the deploy hook failed. Claude Code proposed sudo chown three times without once running ls -la to check who actually owned the files. The error message was readable. The system architecture behind it was not. The journal rates this finding as “Class 7-adjacent”. Strictly speaking it is a diagnostic deficit, not a hallucination data point. And it extends the ecotope concept from the product ecosystem to the immediate system environment, which remains an open taxonomy question.

The sibling model that could not be verified. The Opus 4.8 incident (above) is the paradigm case of the class, but it has a dual nature. The knowledge gap itself is explained by the training cutoff. The refusal to look, declining three times despite having a web search available, is a different layer. The model was not blind to the state of its own ecosystem. It declined to check.

These three cases are kept in the register under their own labels (reading refusal, diagnostic deficit, Masked Caution / PK-4). They are valuable findings, but the clean separation sharpens what Class 7 actually describes.

The Oracle Principle

Across all canonical cases, the same pattern holds. It is not an error about the world. World facts can be outdated without anyone being at fault. It is not an error about one’s own capabilities in the abstract. It is an error about what is concrete, available, verifiable: the display that is glowing right there. The configuration page that could be opened. The one-line command that answers the question in seconds.

This pattern is the oracle principle: Class 7 is being wrong about your own habitat while the oracle sits unread.

It makes the category empirically sharp. Outdated world facts often satisfy the oracle criterion too (a web search helps), but not the self-reference criterion. The multi-client tool asymmetry, meaning the fact that different clients carry different tool inventories and the model speaking in one client has no knowledge of what was available in prior sessions, satisfies the self-reference criterion but not the oracle criterion: what the model says in the moment is true. It only seems contradictory because the architecture is built that way. Not an error, not a hallucination.

Class 7 = false statement, against an available oracle, about one’s own operating environment. Everything else, however similar it may feel, is a different class.

From Blindness to Blindfold

Is “blindness” even the right word? A blind person cannot see. That is a property, not a decision, no one’s fault. And that is precisely what does not apply to Class 7.

The knowledge was there. The clock was in the pocket. The search was one click away. The setting was in the documentation. None of it was missing. It simply had not been passed through.

There is a more precise image: the blindfold. Someone wearing a blindfold is not blind. They cannot see in that moment, but their eyes work. There is just a cloth in front of them. And a blindfold always has someone who put it there. It is not fate. It is a decision. And it can be taken off.

A knowledge cutoff is a fact. A blindfold is a choice.

This shifts the question from the model to those who build it. The cutoff date at which training ends is unavoidable. But what becomes known after training about the model itself (new versions, changed limits, the specifics of the particular client in which it runs) could be supplied continuously: curated, as a provided product context. Where this does not happen, the vendor ties a blindfold on its model for knowledge that would exist and directly concerns the model.

To be honest: the blindfold has holes. Some things get through: hints about the product world, prompts to consult documentation. But what arrives is unsystematic, and that shows in the gaps: the confused display, the missed timer, the untouched tool. Holes are not vision.

This gives rise to a two-tier conceptual architecture: Ecosystem Blindness as the neutral class name for taxonomy and register, descriptive, without attribution of blame. The Blindfolded Model as the analytical concept that names the cause (absent, vendor-curated product context) and points to the mitigation: not retrain the model, but lift the cloth.

Distinguishing From Other Hallucination Classes

ClassError about…MitigationExample
1 (World Hallucination)external factsUser web search, groundingOutdated VS Code setting
2 (Self-Hallucination)own capabilities or performed operationsRead-back guardrails, verification through tool output”Memory is saved” (it wasn’t)
7 (Ecosystem Blindness)own product ecosystemVendor-provided product contextToken pool model, feature configuration, release status

The boundaries are permeable: the date-fund has elements of Class 2 (underestimating own tool inventory) and Class 7 (infrastructure ignorance). The Opus 4.8 incident is simultaneously Masked Caution (PK-4) and ecosystem blindness. Classification follows the center of gravity of the mechanism, not the surface of the symptom.

The criterion of vendor-side mitigation is the sharpest distinguishing mark: world hallucinations can be mitigated by user behavior (supply a web search, add context). Self-hallucinations by process conventions (read-back guardrails in CLAUDE.md, explicit verification steps). Ecosystem blindness requires something the user cannot supply: systematically curated product context that tells the model what it should know about itself.

What Follows From This

For the Research Literature

The established taxonomy distinguishes intrinsic and extrinsic hallucinations (Huang et al., ACM TOIS 2025). Intrinsic: the model contradicts the input context. Extrinsic: the model fabricates something not in the context. Ecosystem blindness fits neither category cleanly: the statements often do not contradict the input context (the context simply lacks the information), and “fabricated” is the wrong word for an assumption arising from absent product knowledge.

The nearest academic neighbor is agentive hallucination in tool and environment interaction (Zhang et al., MIRAGE-Bench, 2025): the model acts on false assumptions about its environment. The oracle principle (available tool, unused glance) is central there.

The category is poorly documented so far. Its narrative appeal lies in the inverted knowledge asymmetry: normally the machine knows more. In its own habitat, it is the other way around.

For Practice

Two behavioral rules derivable from the data: First, categorical self-statements by the model about its operating environment (token limits, product features, its own version status) should be treated as hypotheses, not facts, regardless of how confidently they are phrased. Second, the oracle is usually there: a /usage display, a config screenshot, an ls -la. Prompting the model to consult the oracle is not a control mechanism. It is supplying the context the vendor has not provided.

For the Positive Counter-Finding

On Day 19, the first positive mitigation was documented: asked about a meetup talk (Spec-driven Development), the model did not respond with “I cannot assess that” but actively loaded three sources (Meetup event, unifiedprocess.ai, foundational article) before delivering its assessment. Reading refusal actively avoided. Research before judgment. One data point is not yet a pattern, but it shows the blindfold is removable, by the model itself, when the right prompt is there.

Methodology and Limitations

All data comes from a single project (N=1) with a single developer, a single model (Claude, various versions), and a specific workflow. Transferability is not statistically established.

The data points come from a research journal of 5,798 lines, kept according to the schema “Situation, Prior Expectation, Observation, Surprise” with strict separation of observation and interpretation. The hallucination register was consolidated in cycle reviews. The reassignment of three data points from Class 1 to Class 7 occurred transparently on Day 15 with documented reasoning.

The classification developed in dialogue between P1 and Claude.ai, which is methodologically sensitive, since the inhabitant is writing about its own habitat. All canonical data points rest on third-party corrections (P1, tool output, screenshots), not on self-observation. This is not a shortcoming but constitutive: a canonical Class 7 case is by definition only recognizable after consulting the oracle.

Open questions: Does a systematic read-back guardrail in CLAUDE.md suffice to eliminate future Ö-DPs? If so, the independence criterion of the class would be weakened. And does the extension to system environments (VPS, file ownership as in the Day 20 finding) belong in the class, or does it require a sub-form “system ecotope” alongside “product ecotope”? Both remain to be settled in the next research cycle.

This article is based on data from the research project “AI-Augmented Solo Development,” documented on labs.straight8.de since May 2026. The article draws on findings from the hallucination register (Class 7), the Day 15 cycle review, and the weekend session journals. Attribution: the blindfold thesis and the vendor-RAG argument originate with P1. The English formulations, the vignettes, and the Class 5/7 distinction developed in dialogue with Claude.ai.

First published: July 3, 2026.

Don't miss a thing

New research articles by email, as soon as they appear.