agency models
Browse the hosted model catalog and fetch fresh model data.
agency models list
List hosted text models from the built-in catalog. Filterable:
agency models list # all models
agency models list --provider openai # one provider
agency models list --max-price 1 # input cost <= $1 / 1M tokens
agency models list --min-context 200000 # context window >= 200k tokensColumns: name, provider, open-weights, input $/1M, output $/1M, context window.
To preview a saved (or hand-edited) model-data file merged with the built-in catalog, pass one or more files as positional arguments — handy for checking a file before a program loads it with loadModelData:
agency models refresh > my-models.json # save + hand-edit
agency models list my-models.json # built-in catalog + your file
agency models list a.json b.json --provider acme # multiple files accumulate; filters still applyFiles are merged in order (later files win on provider+name collisions, like loadModelData). If a file can't be loaded, list prints the error and exits non-zero instead of showing a baked-only list.
agency models refresh
Fetch the latest model data and print it as JSON to stdout. It does not save or register anything — redirect it to a file you control:
agency models refresh > my-models.json
# optionally override the source URL:
agency models refresh https://example.com/model-data.json > my-models.jsonErrors go to stderr with a non-zero exit code, so a failed fetch is detectable in a pipeline (and leaves stdout empty).
Using a saved file
Load a saved model-data file in an Agency program with std::llm.loadModelData:
import { loadModelData } from "std::llm"
node main() {
const r = loadModelData("my-models.json")
// r is success(count) or failure(reason)
}loadModelData accumulates: multiple calls layer over each other and over the built-in catalog, with the most recently loaded file winning on provider+name collisions. Loaded data affects llm() model resolution and cost accounting as well as listHostedModels() / hostedModelInfo().