--model; the CLI picks the best credential-backed model and prints what it chose.
How It Works
Resolution Order
Quick Start
1
Auto-pick model from credentials
Set your API key and run any command — no The one-line notice only appears when a provider-inferred default is used (not when using the MRU or an explicit override).
--model needed:2
Override for a single run
3
Pin the model for the project
Add a Every
.praison.json to your project root:praisonai command in this directory now uses this model.4
Check with praisonai doctor
Resolution Order
Provider-inferred defaults (priority 4) and the
gpt-4o-mini fallback (priority 5) are intentionally not persisted as MRU. Persisting them would let a stale default win over fresh credential-based inference on a later run when your available providers have changed.
MRU State
The most-recently-used model is stored at:PRAISONAI_HOME ($PRAISONAI_HOME/state/model.json when set). The legacy ~/.praison/state/model.json is still read as a fallback.
Content:
--model — that overwrites the MRU automatically.
Best Practices
Pin the model in CI
Pin the model in CI
Don’t rely on auto-selection in automated pipelines. CI environments often have credentials for multiple providers, and the selected model can change if you add or remove a key.
Watch the transparency notice in development
Watch the transparency notice in development
The transparency notice (
No model set; using X because Y is present.) only fires for provider-inferred defaults. If you see it unexpectedly in a staging environment, your .praison.json or MODEL_NAME env var may not be set.OPENAI_MODEL_NAME is still honoured
OPENAI_MODEL_NAME is still honoured
For backward compatibility, the
OPENAI_MODEL_NAME environment variable still overrides credential-based inference. If you have a legacy .env with this variable, it takes priority over the credential probe.Related
CLI OAuth Login
Sign in to providers using browser-based OAuth
Models CLI
List, compare, and switch between available models

