magus v0.4.3 is out. See what's new
¶ View markdown source · ✎ Suggest an edit
1 min read

unknown-env

A deny rule: it refuses a retired or misspelled MAGUS_* variable handed to a command, and names what to run instead.

What it catches

A retired or misspelled MAGUS_* variable handed to a command.

Why

A retired or misspelled name is ignored without a word, so the setting the caller meant never takes effect and nothing says so. Measured 2026-09-24: the day MAGUS_NO_WAIT was removed, agents prefixed 462 commands with it, copied from 33 briefs. It fires on the names a command's environment receives: a NAME=value prefix, env NAME=value, env -u NAME, and export. It asks config.EnvVarProblem, the check magus's own startup refuses on (MGS1046), so a name the guard denies is one the binary would refuse, and one it cannot prove wrong passes both.

Seeing it

A verdict names its rule in brackets, which is how you got here:

deny [unknown-env]: ...

magus describe rule unknown-env prints the same entry at a terminal, and magus describe rules lists every rule this workspace enforces.

See also

  • All rules - what this workspace enforces, deny first
  • The guard - how a verdict is reached and wired
guardrulesunknown-envdeny
Last updated (a9ff8609)
Glossary

Workspace

The magus root directory that owns a set of projects and shared config; the unit magus operates over. See workspace.

Op

A single tool-native command a target composes (long form: operation); the middle of the work hierarchy (Spell to Op to Target). See operations.

Spell

A language/runtime adapter (e.g. go, md) that maps generic targets onto a toolchain's real commands. See spells.

Run

One target executing under one magus invocation, such as magus run test web or magus affected ci. A run keeps its captured output behind an output reference. Every magus run is a run whether or not any job asked for it; see Job for how the two relate.

Conventions

This page uses none of the site's convention markers. The full set is on the conventions page.