Markdown for LLMs
LPK-E0302 — registryId at the address is wrong
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LPK-E0302 — registryId at the address is wrong
## What it means
Every registry carries an identity file, and the tool checks the identity at the address against the identity it was asked for. When the two differ, the address is not who it claims to be — a copy, a move, or a typo — so the command refuses before trusting anything it serves. Nothing is created or changed by the refusal.
Checking the identity and the location side by side resolves it: either the address is wrong or the expected identity is.
## Example
```pkgtest
{"files": {"law.toml": "[package]\nname = \"demo.mini\"\nversion = \"0.1.0\"\nlanguage = \"0.2\"\nnamespace = \"urn:law:demo:mini\"\n", "registry.json": "{\"registryId\":\"someone-else\",\"specVersion\":\"0.2\"}"}, "cmd": ["add", "foo", "--from", "local", "--registry", "local=.", "--project", "."], "expect": "LPK-E0302"}
```
## Fix
```pkgtest
{"files": {}, "cmd": ["init", ".", "--name", "demo.diag"]}
```
## Engine message
The tool reports this in its own wording:
```text
law: REFUSAL LPK-E0302: registry .: registryId 'someone-else' mismatches expected local
```
## Related
- [Package, context, snapshots](/recipes/n-package/) — what a project directory holds.