declared-dependencies-are-not-the-set-the-code-needs
observationsingle paper

Checking that every package an agent names actually exists catches the invented ones but not the missing ones: what agents declare is routinely a fraction of what their code imports at runtime, so generated projects fail in a clean environment even when every declared package is real. Existence is a necessary check, not a sufficient one.

Capability: Writing secure code and dependencies · Security, Coding agent

Observed on

2025, Claude Code / OpenAI Codex / Gemini coding agents.

Sources

Status: activeLast checked: 2026-09-04Evidence activityHow much the field cites the sources under this claimheavily cited in the last 12 months80 in 12mo · 106 total — We Have a Package for You! A Comprehensive Analysis of Package Hallucinations by Code Generating LLMs1 source not yet checked, so not counted
Contest this claim

Disagreeing is the most useful thing you can do here. Both sides of every contested claim in this catalog were assembled by the same person, which is its weakest point.

Related claims

Notes

Filed as an observation, not a mechanism: the numbers are tied to three specific 2025 agents and will move. The durable part — that a declared manifest and an import graph are different objects — is the reason the check has to compare against what the code actually imports rather than only against the registry.