ReleaseMistral AIMistral AIpublished Sep 26, 2026seen 4w

mistralai/cli cli/v0.7.0

mistralai/cli

Open original ↗

Captured source

source ↗
published Sep 26, 2026seen 4wcaptured 4whttp 200method plain

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 deploy ships 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 publish publishes a deployed alias to the Vibe catalog, and

mistral apps unpublish removes it without stopping the app.

  • mistral apps dev starts 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 evals covers the offline-evaluations lifecycle: exec, project,

evaluation, runs, dataset, judge, and open, alongside optimize.

  • mistral context shows 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-key saves 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 update previews 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.

  • --json on mistral 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 --help describes 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 apps engine error exits with its own code instead of 1, 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 update delivers 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 init copies 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 update no 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 dev and other gated commands no longer disappear between runs

when MISTRAL_API_KEY is set in one shell and not another.

  • mistral apps init warns about a saved registry.url only when it falls back

to it.

  • A failed registry descriptor fetch prints one auth hint instead of two

contradictory ones.

  • mistral apps registry check --json reports a tooling gate that cannot spawn

as failed rather than skipped.