MGS1046: a MAGUS_* environment variable that is provably wrong
The environment carries a MAGUS_* variable that magus retired, or that misspells one
it reads. Every command, magus version included, stops before doing any work:
magus: [MGS1046] MAGUS_CACHE_DIRR is set, but magus does not read it; did you mean MAGUS_CACHE_DIR?
MAGUS_NO_WAIT was removed in v0.5.0; delete it; magus never waits on another invocation, a held lock or budget refuses at once with exit 75
see: https://eli.gladman.cc/magus/reference/codes/magusfile/MGS1046/
Each variable gets its own line. A variable set to the empty string counts as unset.
magus shell, the command an agent host runs as its guard hook, answers with a deny
carrying the same text instead of exiting, because a hook that exits without a verdict
is read as allow. magus buzz carries on, so the hook glue it runs reaches that deny.
Why
A variable exported for magus and then not read looks exactly like one that applied.
When MAGUS_NO_WAIT was removed, scripts and agents kept setting it: 462 commands in
one day exported a value no magus honored, and nothing said so.
Only the two cases magus can prove are refused. A MAGUS_* name that is neither
retired nor close to one magus reads may belong to a newer magus or to a repository's
own tooling, so it runs; magus doctor lists it under environment-variables as
advice.
What to do
The tail of each line says which case it is:
was renamed to ...Rename the variable; the value means the same thing.was removed in ...Delete it. The line says what replaced the behavior, if anything did.did you mean ...?Fix the spelling.
docs/reference/config lists every variable that has a magus.yaml
key, and man magus lists all of them under ENVIRONMENT.
See also
- MGS1040: the same stop for a
magus.yamlkey this magus does not know.