docs← Back to article

Markdown for LLMs

LPK-E0103 — --offline on a registry-reading command

The source Markdown for this article. Copy it into your assistant or download it as a text file.

Download this articlePlain text ↗
# LPK-E0103 — --offline on a registry-reading command

## What it means

The offline flag belongs to one command only: installing, which restores files strictly from the lock and never picks versions. Every other command that reads the registry — adding, updating, anything that resolves — needs the network by definition, so passing the flag there is refused up front. Nothing is created or changed by the refusal.

There is a second shape of the same refusal: installing offline while a locked file is missing from the local directories. Offline mode cannot fetch what is absent, so it names the missing file instead of reaching out. Reconnecting, or restoring the file first, clears the way.

## Example

```pkgtest
{
  "files": {
    "law.toml": "[package]\nname = \"demo.case\"\nversion = \"0.1.0\"\nlanguage = \"0.2\"\nnamespace = \"urn:law:demo:case\"\n\n[dependencies]\n\"test.leaf\" = \"0.1.0\"\n\n[[cases]]\nname = \"Main\"\npath = \"main.lawcase\"\n",
    "law.lock": "{\n  \"dependencyEdges\": [\n    {\n      \"features\": [],\n      \"from\": \"demo.case\",\n      \"requested\": \"0.1.0\",\n      \"resolved\": \"0.1.0\",\n      \"to\": \"test.leaf\"\n    }\n  ],\n  \"languageSemantics\": \"law.core/0.2.0\",\n  \"lockVersion\": \"0.1\",\n  \"packages\": [\n    {\n      \"contentHash\": \"sha256:3740fe61c6f25b5f6af629b26503581aaa3f3cf8193f0b78e441870a7117a6b7\",\n      \"features\": [\n        \"core-executable\"\n      ],\n      \"name\": \"test.leaf\",\n      \"namespace\": \"urn:test:leaf\",\n      \"registryId\": \"local\",\n      \"resolverUri\": \"registry://local/test.leaf/0.1.0\",\n      \"version\": \"0.1.0\"\n    }\n  ],\n  \"resolutionHash\": \"sha256:bdfee0b88ea42c67bf6239831a035db012db880bdde7b4cfbc947b5bb1fe1bfd\",\n  \"root\": {\n    \"contentHash\": \"sha256:8cea7321ec0f0a4912ea8c4e9d51da7eec79b519a12b9c5e5434116df49d1e60\",\n    \"name\": \"demo.case\",\n    \"namespace\": \"urn:law:demo:case\",\n    \"version\": \"0.1.0\"\n  }\n}\n"
  },
  "cmd": [
    "install",
    "--offline",
    "--project",
    "."
  ],
  "expect": "LPK-E0103"
}
```

## Fix

```pkgtest
{"files": {}, "cmd": ["init", ".", "--name", "demo.diag"]}
```

## Engine message

The tool reports this in its own wording:

```text
law: REFUSAL LPK-E0103: offline: no deps/test.leaf.lawir.json
```

## Related

- [Package, context, snapshots](/recipes/n-package/) — what a project directory holds.