# LPK-E0301 — registry not configured ## What it means A registry is always named by identity, and the address for that identity must come from somewhere explicit: a command flag, a manifest section, or user configuration. Guessing an address from a bare identity is forbidden, so when no layer names the registry, the command refuses before doing anything. Nothing is created or changed by the refusal. Passing the address once — as an identity-equals-location flag or a manifest entry — is the whole fix. ## Example ```pkgtest {"files": {"law.toml": "[package]\nname = \"demo.mini\"\nversion = \"0.1.0\"\nlanguage = \"0.2\"\nnamespace = \"urn:law:demo:mini\"\n"}, "cmd": ["add", "foo", "--from", "nowhere", "--project", "."], "expect": "LPK-E0301"} ``` ## Fix ```pkgtest {"files": {}, "cmd": ["init", ".", "--name", "demo.diag"]} ``` ## Engine message The tool reports this in its own wording: ```text law: REFUSAL LPK-E0301: registry nowhere not configured: pass the address via --registry nowhere=LOCATION, a [registries.nowhere] manifest section or user configuration (§8 DECISION-0168 forbids guessing the address) ``` ## Related - [Package, context, snapshots](/recipes/n-package/) — what a project directory holds.