docs← Back to article

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.

Download this articlePlain text ↗
# 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.