Blog
Missing Environment Variables Should Say Which Key
A CLI that exits because a key is unset must name the variable. 'Configuration error' is not searchable. Developers will not file a ticket about a setup step they think they simply forgot.
2026-06-25 · 6 min read · AethelLayer
Name every missing key
List the variables that are empty. LLM_API_KEY and ZEP_API_KEY are two different fixes. One sentence that says 'check your .env' makes both look like the same mistake.
Print that list on stdout or stderr, but print it as the error, with a stable code. A successful-looking install log followed by a quiet exit is how the real message gets lost.
Do not print the value
Say the variable is missing or still set to the placeholder. Never echo a key that is present in order to prove you loaded the file. The presence check is a boolean.
Placeholders such as your_api_key_here should fail the same check as an empty string. A copied example file is the usual first run.
Point at the file you read
Say which path you loaded. Developers keep a .env in the repo root and another in the package directory. The error should name the path you actually opened.
If the file is absent, say that, and print the command that copies the example. Do not start a server that will fail later on the first request.
Keep the list in the draft
A probe for a missing-config exit should store the variable names and the command, not the file contents. The draft title can be the error code. The body is the list.
When the same names repeat across evaluators, the README is the bug. Put those names in the first code block, not in a comment twenty lines down.
Keep reading
Capture the failure before they leave
Capture the failure before they leave. Book early access or talk to sales, then install @aethellayer/sdk when you are onboarded.