E-MODEL-001
Every wiring check can pass and the agent can still answer nothing: the one key this install reads is not set.check model/credential · error_code E-MODEL-001 · doctor exits 0 (warning only)
What you’re seeing
Doctor names exactly one variable, and it is the one your wiring consults — never a list. It finds that variable from the answervendo init recorded in
.vendo/install.json (modelKey), or, failing that, from the provider your
composition’s own models line names:
models: { default: anthropic("claude-sonnet-4-6") }→ANTHROPIC_API_KEYmodels: { default: openai("gpt-5") }→OPENAI_API_KEY- no
modelsline at all →VENDO_API_KEY, which is the only variable the runtime ladder reads on its own
.env and .env.local.
Why
A provider key on its own is a credential, not a selection — since the selection law, nothing picks a model off the environment. So setting a key the composition does not name changes nothing, which is why this warning names one variable instead of three. This is a warning and never a failure: production keys legitimately live in a deploy platform’s secret store, which doctor cannot read.The fix
Set the variable doctor named. If that is a provider key, put it in.env.local
— it is already selected in your composition (lib/vendo.ts):
models line — the gateway resolves the
family names server-side:
VENDO_API_KEY lands in .env.local. Restart your dev server
afterwards so the app picks the key up.
Related errors
E-CLOUD-001
VENDO_API_KEY is set but not usable
E-TOOLS-003
part of the tool catalog is ungraded