Markdown for LLMs
LPK-E0101 — invalid command arguments
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LPK-E0101 — invalid command arguments
## What it means
Every command checks its arguments before touching anything: names follow one pattern, versions another, and every flag carries its value with an equals sign. When an argument breaks the pattern — a name with capitals, a version with a caret, a flag without its form — the tool refuses before doing anything. Nothing is created or changed by the refusal.
The refusal names the offending argument, so the fix is local: spell the name in the canonical pattern, or pass the flag in the documented form, and run the same command again.
## Example
```pkgtest
{"files": {"law.toml": "[package]\nname = \"demo.mini\"\nversion = \"0.1.0\"\nlanguage = \"0.2\"\nnamespace = \"urn:law:demo:mini\"\n"}, "cmd": ["add", "BadName", "--project", "."], "expect": "LPK-E0101"}
```
## Fix
```pkgtest
{"files": {}, "cmd": ["init", ".", "--name", "demo.diag"]}
```
## Engine message
The tool reports this in its own wording:
```text
law: REFUSAL LPK-E0101: "BadName": non-canonical package name §22 (need ^[a-z][a-z0-9_]*(?:\.[a-z][a-z0-9_]*)*$)
```
## Related
- [Package, context, snapshots](/recipes/n-package/) — what a project directory holds.