mistralai/cli cli/v0.7.0
mistralai/cli
Captured source
source ↗mistral CLI v0.7.0
Repository: mistralai/cli
Tag: cli/v0.7.0
Published: 2026-09-26T12:43:09Z
Prerelease: no
Release notes:
Added
mistral apps deployships an app to the platform. It settles the target
organization and workspace (from apps.json, then --organization / --workspace, then a prompt) and records it, creates the app and its modules, registers the pushed commit as a build with the Dockerfile stage the capability declares, deploys it to production, and waits for the runs. It refuses a dirty or unpushed checkout, or a Dockerfile missing from the commit, before creating anything. The managed Postgres module is created before any service deploys, and existing modules whose port, routes, start command, or pre-start commands differ from apps.json are updated; env vars and secrets are left alone.
mistral apps publishpublishes a deployed alias to the Vibe catalog, and
mistral apps unpublish removes it without stopping the app.
mistral apps devstarts the apps gateway alongside the app modules, with
its own row, readiness check, and teardown. Every module receives the same gateway variables locally as deployed (GATEWAY_URL, PROXY_URL, PUBLIC_ORIGIN, MODULE_HOST), under both __APPS_ and __SPACES_, and each app gets its own .apps.localhost host so two apps running at once no longer overwrite each other's session cookie.
mistral evalscovers the offline-evaluations lifecycle:exec,project,
evaluation, runs, dataset, judge, and open, alongside optimize.
mistral contextshows the current organization and workspace, and
mistral context set selects them interactively. A default is selected after login, the selection is cleared on logout, and API requests carry it as x-organization-id / x-workspace-id headers.
mistral login --api-keysaves an API key without opening a browser.mistral apps init,mistral apps capability add, and a git
mistral apps registry update end with a "Before you run" section listing what each new capability still needs (secrets for .env, its INSTALL.md prerequisites), also reported as prerequisites under --json.
- A git
mistral apps registry updatepreviews what it will do: where the
registry moves (ref@sha → ref@sha), what happens to every file the registry owns in the app, and the capability CHANGELOG entries in between, breaking changes first. mistral apps capability update lists the same entries.
--jsononmistral apps registry list,registry check,registry build,
capability init, capability add, remove, select, update, and merge. With --json, a failing run writes {"ok":false,"error":{"code","exitCode","message"}} on stdout.
mistral apps config --helpdescribes every subcommand and settable key.- The CLI checks GitHub for a newer published release, at most once a day,
and prints a notice on STDERR with the upgrade command when the running binary is behind. It is skipped on --version, --help, help, version, and a bare mistral. When STDERR is not a terminal it makes no request and prints nothing, so CI and piped commands are unaffected, and MISTRAL_DISABLE_UPDATE_CHECK=1 turns it off everywhere. Internal builds use their private prerelease channel and print an in-place internal upgrade command instead of offering the public release.
Changed
- Each
appsengine error exits with its own code instead of1, so scripts
can tell a missing capability from a malformed descriptor or an unreachable registry. A missing scope or ref exits 2 (usage).
- A git
mistral apps registry updatedelivers the whole upstream change:
unedited vendored files are replaced or deleted, new files are added, edited files are 3-way merged, and files moving between capabilities update cleanly.
mistral apps initcopies the build a capability declares onto its module in
apps.json, and mistral apps registry check fails when the declared Dockerfile or target stage is missing.
- Command hints in errors and help use the installed binary name, so internal
builds no longer suggest mistral ....
Fixed
- A git
mistral apps registry updateno longer fails on CLI-scaffolded apps,
keeps the snapshot's sha, and pauses on conflicts for mistral apps capability merge --continue / --abort instead of committing conflict markers and exiting 0. It keeps an added capability's Python dependencies in pyproject.toml.
mistral apps devand other gated commands no longer disappear between runs
when MISTRAL_API_KEY is set in one shell and not another.
mistral apps initwarns about a savedregistry.urlonly when it falls back
to it.
- A failed registry descriptor fetch prints one auth hint instead of two
contradictory ones.
mistral apps registry check --jsonreports a tooling gate that cannot spawn
as failed rather than skipped.