CLI reference
Commands and flags of the Mistral CLI, grouped by task.
Run mistral --help or mistral COMMAND --help for the options in your installed version. Some commands, such as mistral deploy, appear only after you sign in with mistral login.
Usage and global flags
mistral
Usage:
mistral <subcommand> [flags]Global flags (available on every command):
-h, --help: Show help information.-v, --version: Show version information.--completions <bash|zsh|fish|sh>: Print shell completion script.--log-level <all|trace|debug|info|warn|warning|error|fatal|none>: Sets the minimum log level.
Subcommands:
init: Scaffold a new app, selecting capabilities from a registry (asks Workflow, App or Custom on a terminal; --preset, --caps or --yes choose without asking).dev: Start the app's local dev stackdeploy: Deploy the appapps: Scaffold and manage Mistral appsworkflows: Build Mistral workflowslogin: Sign in to Mistral in your browserlogout: Sign out and remove stored credentialswhoami: Show the signed-in identitycontext: Show or set the active organization and workspaceevals: Run, optimize, and manage offline evaluationsobservability: Inspect traces and observability dataupgrade: Upgrade this CLI to the latest release
Aliases: obs is an alias for observability.
Create, run, and deploy
mistral init
Scaffold a new app, selecting capabilities from a registry (asks Workflow, App or Custom on a terminal; --preset, --caps or --yes choose without asking).
Usage:
mistral init [flags] [<app>]Arguments:
<app>(string): The project directory / name to create (prompted when omitted).
Flags:
--registry-url string: The npm registry base URL (e.g. an npm mirror), or the git remote (optionally with #<ref>), the capabilities live in. For an npm registry, resolves @mistralai-capabilities/registry against it by default unless --registry-package names another package, or the URL itself ends in .json (a plain descriptor URL, fetched as-is). Defaults to MISTRAL_APPS_REGISTRY_URL, then BUN_CONFIG_REGISTRY, then the built-in registry.--source choice: Force the registry source kind instead of auto-detecting it. (choices: git, npm)--scope string: The capability package scope for the npm bootstrap (e.g. @your-scope).--registry-package string: The index package carrying descriptor.json (default <scope>/registry).--ref string: The git ref (tag/branch) for a git registry, if not embedded in the URL.--descriptor-path string: The descriptor path within a git registry repo (default registry.json).--refresh-registry: Ignore the cached registry descriptor and fetch it again.--tags string: Comma-separated categories to filter the selectable capabilities.--caps string: Comma-separated capability roots to select without prompting (explicit selection) — each a qualifiedregistry-id/kind/capability-id, or bare when unambiguous. List the valid ids withmistral apps capability list(it runs outside an app).--preset choice: Pick the capabilities for what you are building without asking:workflowfor a template workflow you can deploy to Studio (the same asmistral workflows init),appfor a full-stack app with a database. Cannot be combined with --caps. (choices: workflow, app)--no-save-config: Do not persist the resolved registry coordinates to the global config.--no-git: Do not create a git repo for the app; reuse the enclosing repo when inside one (a git registry vendors its subtree there). Errors for a git registry with no enclosing repo.--here: Scaffold into the current directory instead of a new <app> subdir (also implied byinit .).-y, --yes: Quick selection: take the registry's default capabilities (plus required and their dependencies) and accept defaults without prompting.--json: Never prompt, print progress to stderr, and write the result to stdout as JSON ({ app, projectDir, capabilities, warnings }).--force: Skip (warn) an unresolvable cross-registry capability dependency at scaffold time instead of failing; add the registry that provides it later withmistral apps capability add.--from string: Start from the code an app deployed from disk runs in production, by app name or id, instead of selecting capabilities from a registry.--organization string: With --from, look for the app in this organization, by id or name, instead of the one selected at login.--workspace string: With --from, look for the app in this workspace, by id or name, instead of the one selected at login.
Pass --json for machine-readable output.
mistral dev
Start the app's local dev stack
Usage:
mistral dev [flags]Flags:
--filter string: Run only these app modules, comma-separated (e.g.--filter server).--gateway: Start the gateway even when no module in this run serves HTTP--json: Print the run as one JSON event per line--no-gateway: Run the app modules without the gateway in front--no-open: Do not open the app in the browser once every module is ready
Pass --json for machine-readable output.
mistral deploy
Deploy the app
Usage:
mistral deploy [flags]Flags:
--organization string: Deploy into this organization, by id or name. Required off a terminal.--workspace string: Deploy into this workspace, by id or name.--name string: Name a new app, with up to 63 lowercase letters, digits and hyphens. Without it, deploy makes a name from the project directory.--json: Emit the output as JSON.-y, --yes: After creating the app, commit mistral.json and push it without asking.--from-disk: Upload the working directory and deploy that, instead of the pushed commit. Experimental.
Pass --json for machine-readable output.
Apps
mistral apps
Scaffold and manage Mistral apps
Usage:
mistral apps <subcommand> [flags]Subcommands:
init: Scaffold a new app composed from the capabilities in a registry, picked kind by kind on a terminal (--preset, --caps or --yes choose without asking).config: Read and write the global CLI config that supplies the default registry coordinates.capability: Create capabilities and manage the ones this app uses.modules: Print the resolved modules from mistral.jsondev: Start the app's local dev stackinstall: Install any app's dependencies (uv lock, then bun install), first restoring the managed capabilities its lock pins, if any (run it after cloning)list: List the apps in your organization and workspacedeploy: Deploy the applogs: Print a deployed app's build or runtime logs, for a module or the gatewaypublish: Publish a deployed app alias to the Vibe catalogunpublish: Remove a deployed app alias from the Vibe catalogdelete: Delete a deployed app with its modules and databases
mistral apps init
Scaffold a new app composed from the capabilities in a registry, picked kind by kind on a terminal (--preset, --caps or --yes choose without asking).
Usage:
mistral apps init [flags] [<app>]Arguments:
<app>(string): The project directory / name to create (prompted when omitted).
Flags:
--registry-url string: The npm registry base URL (e.g. an npm mirror), or the git remote (optionally with #<ref>), the capabilities live in. For an npm registry, resolves @mistralai-capabilities/registry against it by default unless --registry-package names another package, or the URL itself ends in .json (a plain descriptor URL, fetched as-is). Defaults to MISTRAL_APPS_REGISTRY_URL, then BUN_CONFIG_REGISTRY, then the built-in registry.--source choice: Force the registry source kind instead of auto-detecting it. (choices: git, npm)--scope string: The capability package scope for the npm bootstrap (e.g. @your-scope).--registry-package string: The index package carrying descriptor.json (default <scope>/registry).--ref string: The git ref (tag/branch) for a git registry, if not embedded in the URL.--descriptor-path string: The descriptor path within a git registry repo (default registry.json).--refresh-registry: Ignore the cached registry descriptor and fetch it again.--tags string: Comma-separated categories to filter the selectable capabilities.--caps string: Comma-separated capability roots to select without prompting (explicit selection) — each a qualifiedregistry-id/kind/capability-id, or bare when unambiguous. List the valid ids withmistral apps capability list(it runs outside an app).--preset choice: Pick the capabilities for what you are building without asking:workflowfor a template workflow you can deploy to Studio (the same asmistral workflows init),appfor a full-stack app with a database. Cannot be combined with --caps. (choices: workflow, app)--no-save-config: Do not persist the resolved registry coordinates to the global config.--no-git: Do not create a git repo for the app; reuse the enclosing repo when inside one (a git registry vendors its subtree there). Errors for a git registry with no enclosing repo.--here: Scaffold into the current directory instead of a new <app> subdir (also implied byinit .).-y, --yes: Quick selection: take the registry's default capabilities (plus required and their dependencies) and accept defaults without prompting.--json: Never prompt, print progress to stderr, and write the result to stdout as JSON ({ app, projectDir, capabilities, warnings }).--force: Skip (warn) an unresolvable cross-registry capability dependency at scaffold time instead of failing; add the registry that provides it later withmistral apps capability add.--from string: Start from the code an app deployed from disk runs in production, by app name or id, instead of selecting capabilities from a registry.--organization string: With --from, look for the app in this organization, by id or name, instead of the one selected at login.--workspace string: With --from, look for the app in this workspace, by id or name, instead of the one selected at login.
Pass --json for machine-readable output.
mistral apps config
Read and write the global CLI config that supplies the default registry coordinates.
Usage:
mistral apps config <subcommand> [flags]Subcommands:
path: Print the path of the config file the CLI reads and writes.get: Print the whole config, or the value of one key.set: Set one config key.unset: Remove one config key, falling back to the built-in default.
mistral apps config path
Print the path of the config file the CLI reads and writes.
Usage:
mistral apps config path [flags]mistral apps config get
Print the whole config, or the value of one key.
Usage:
mistral apps config get [flags] [<key>]Arguments:
<key>(string): The key to print (registry.url, registry.registryPackage, registry.ref, registry.descriptorPath). Omitted, the whole config is printed.
mistral apps config set
Set one config key.
Usage:
mistral apps config set [flags] <key> <value>Arguments:
<key>(string): The key to set (registry.url, registry.registryPackage, registry.ref, registry.descriptorPath).<value>(string): The value to store against that key.
mistral apps config unset
Remove one config key, falling back to the built-in default.
Usage:
mistral apps config unset [flags] <key>Arguments:
<key>(string): The key to remove (registry.url, registry.registryPackage, registry.ref, registry.descriptorPath).
mistral apps capability
Create capabilities and manage the ones this app uses.
Usage:
mistral apps capability <subcommand> [flags]Subcommands:
add: Vendor a capability into this app.list: List the capabilities available to this app, or (outside an app) to a registry.update: Re-pin installed capabilities of npm registries to their declared versions (<id> <version> moves one), refresh their vendored files and list the CHANGELOG entries they add.remove: Remove installed capabilities from this app.select: Reconcile this app to a complete set of capability roots.merge: Re-derive the generated files, merging your edits with the templates.
mistral apps capability add
Vendor a capability into this app.
Usage:
mistral apps capability add [flags] <name> [<version>]Arguments:
<name>(string): The capability to vendor — a qualifiedregistry-id/kind/capability-id, akind/capability-id, or a barecapability-idwhen unambiguous across configured registries.<version>(string): An optional version pin for the capability package.
Flags:
-y, --yes: Run non-interactively, skipping every confirmation and modified-file prompt.--json: Emit the reconciliation plan as JSON on stdout ({ applied, roots, derived, additions, removals, … }); progress goes to stderr.
Pass --json for machine-readable output.
mistral apps capability list
List the capabilities available to this app, or (outside an app) to a registry.
Usage:
mistral apps capability list [flags]Flags:
--tags string: Filter capabilities by category tags, comma-separated.--json: Emit the capabilities as JSON ({ capabilities: [{ ref, kind, required, default, categories, installed, installedVersion }] }).--registry-url string: The npm registry base URL (e.g. an npm mirror), or the git remote (optionally with #<ref>), the capabilities live in. For an npm registry, resolves @mistralai-capabilities/registry against it by default unless --registry-package names another package, or the URL itself ends in .json (a plain descriptor URL, fetched as-is). Defaults to MISTRAL_APPS_REGISTRY_URL, then BUN_CONFIG_REGISTRY, then the built-in registry.--source choice: Force the registry source kind instead of auto-detecting it. (choices: git, npm)--registry-package string: The index package carrying descriptor.json (default <scope>/registry).--ref string: The git ref (tag/branch) for a git registry, if not embedded in the URL.--descriptor-path string: The descriptor path within a git registry repo (default registry.json).--refresh-registry: Ignore the cached registry descriptor and fetch it again.
Pass --json for machine-readable output.
mistral apps capability update
Re-pin installed capabilities of npm registries to their declared versions (<id> <version> moves one), refresh their vendored files and list the CHANGELOG entries they add.
Usage:
mistral apps capability update [flags] [<id>] [<version>]Arguments:
<id>(string): An installed capability id to scope the re-pin to.<version>(string): The version to move the scoped capability to. Requires an id.
Flags:
-y, --yes: Run non-interactively, skipping every confirmation and modified-file prompt.--json: Emit the reconciliation plan as JSON on stdout ({ applied, roots, derived, additions, removals, … }); progress goes to stderr.
Pass --json for machine-readable output.
mistral apps capability remove
Remove installed capabilities from this app.
Usage:
mistral apps capability remove [flags] [<name...>]Arguments:
<name...>(string): The selected root(s) to remove (prompted when omitted) — qualifiedregistry-id/kind/capability-id,kind/capability-id, or bare when unambiguous.
Flags:
-y, --yes: Run non-interactively, skipping every confirmation and modified-file prompt.--json: Emit the reconciliation plan as JSON on stdout ({ applied, roots, derived, additions, removals, … }); progress goes to stderr.
Pass --json for machine-readable output.
mistral apps capability select
Reconcile this app to a complete set of capability roots.
Usage:
mistral apps capability select [flags]Flags:
--caps string: Complete set of desired capability roots, comma-separated. Each is a qualifiedregistry-id/kind/capability-id, akind/capability-id, or bare when unambiguous.--tags string: Filter capabilities by category tags, comma-separated.-y, --yes: Skip the apply confirmation (non-interactive).--json: Emit the reconciliation plan as JSON on stdout ({ applied, roots, derived, additions, removals, … }); progress goes to stderr.
Pass --json for machine-readable output.
mistral apps capability merge
Re-derive the generated files, merging your edits with the templates.
Usage:
mistral apps capability merge [flags]Flags:
--continue: Resume a stalled merge: promote each now-resolved file, then re-derive. Also finishes a pausedregistry update(install, lock, snapshot, commit).--abort: Discard the pending merge and restore your files. Does NOT uninstall the capability. A pausedregistry updateis undone entirely: files and git HEAD return to before the update.--ours: With --continue: keep your version of a file you resolved back to its pre-merge state, declining the template's change instead of being asked again on every wire.--json: Emit the merge state as JSON on stdout ({ mode, wired, cleanFiles, conflictedFiles, … }); progress goes to stderr.
Pass --json for machine-readable output.
mistral apps modules
Print the resolved modules from mistral.json
Usage:
mistral apps modules [flags]Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral apps dev
Start the app's local dev stack
Usage:
mistral apps dev [flags]Flags:
--filter string: Run only these app modules, comma-separated (e.g.--filter server).--gateway: Start the gateway even when no module in this run serves HTTP--json: Print the run as one JSON event per line--no-gateway: Run the app modules without the gateway in front--no-open: Do not open the app in the browser once every module is ready
Pass --json for machine-readable output.
mistral apps install
Install any app's dependencies (uv lock, then bun install), first restoring the managed capabilities its lock pins, if any (run it after cloning)
Usage:
mistral apps install [flags]Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral apps list
List the apps in your organization and workspace
Usage:
mistral apps list [flags]Flags:
--organization string: List this organization instead of the logged-in one, by id or name.--workspace string: List this workspace instead of the logged-in one, by id or name.--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral apps deploy
Deploy the app
Usage:
mistral apps deploy [flags]Flags:
--organization string: Deploy into this organization, by id or name. Required off a terminal.--workspace string: Deploy into this workspace, by id or name.--name string: Name a new app, with up to 63 lowercase letters, digits and hyphens. Without it, deploy makes a name from the project directory.--json: Emit the output as JSON.-y, --yes: After creating the app, commit mistral.json and push it without asking.--from-disk: Upload the working directory and deploy that, instead of the pushed commit. Experimental.
Pass --json for machine-readable output.
mistral apps logs
Print a deployed app's build or runtime logs, for a module or the gateway
Usage:
mistral apps logs [flags] [<module>]Arguments:
<module>(string): The module to read, as named in mistral.json. Leave it out to read the gateway, which handles sign-in and routing.
Flags:
--build: Read the module's latest build instead of the running service.--run string: Read one deploy run's build and startup, by the runId inapps deploy --json. Services only.--since string: How far back to read, such as 30m or 6h, up to 24h. Defaults to 1h for a running service and to the start of the build with --build.-n, --lines integer: How many of the latest lines to print, from 1 to 500.-f, --follow: Keep printing new lines until Ctrl-C.--json: Write one JSON object per line on stdout: { timestamp, module, type, message, stream?, level? }.
Pass --json for machine-readable output.
mistral apps publish
Publish a deployed app alias to the Vibe catalog
Usage:
mistral apps publish [flags]Flags:
--alias string: Deployed alias name or id. Defaults to production.--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral apps unpublish
Remove a deployed app alias from the Vibe catalog
Usage:
mistral apps unpublish [flags]Flags:
--alias string: Deployed alias name or id. Defaults to production.--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral apps delete
Delete a deployed app with its modules and databases
Usage:
mistral apps delete [flags] [<app>]Arguments:
<app>(string): The app to delete, by name or id. Leave it out to delete the app mistral.json points at.
Flags:
--organization string: Look for the named app in this organisation instead of the logged-in one, by id or name.--workspace string: Look for the named app in this workspace instead of the logged-in one, by id or name.-y, --yes: Delete without typing the app's name to confirm. Required off a terminal and with --json.--json: Emit the output as JSON.
Pass --json for machine-readable output.
Workflows
mistral workflows
Build Mistral workflows
Usage:
mistral workflows <subcommand> [flags]Subcommands:
init: Scaffold a Mistral workflows app, the same asmistral init --preset workflow.
mistral workflows init
Scaffold a Mistral workflows app, the same as mistral init --preset workflow.
Usage:
mistral workflows init [flags] [<app>]Arguments:
<app>(string): The project directory / name to create (prompted when omitted).
Flags:
--registry-url string: The npm registry base URL (e.g. an npm mirror), or the git remote (optionally with #<ref>), the capabilities live in. For an npm registry, resolves @mistralai-capabilities/registry against it by default unless --registry-package names another package, or the URL itself ends in .json (a plain descriptor URL, fetched as-is). Defaults to MISTRAL_APPS_REGISTRY_URL, then BUN_CONFIG_REGISTRY, then the built-in registry.--source choice: Force the registry source kind instead of auto-detecting it. (choices: git, npm)--scope string: The capability package scope for the npm bootstrap (e.g. @your-scope).--registry-package string: The index package carrying descriptor.json (default <scope>/registry).--ref string: The git ref (tag/branch) for a git registry, if not embedded in the URL.--descriptor-path string: The descriptor path within a git registry repo (default registry.json).--refresh-registry: Ignore the cached registry descriptor and fetch it again.--no-save-config: Do not persist the resolved registry coordinates to the global config.--no-git: Do not create a git repo for the app; reuse the enclosing repo when inside one (a git registry vendors its subtree there). Errors for a git registry with no enclosing repo.--here: Scaffold into the current directory instead of a new <app> subdir (also implied byinit .).-y, --yes: Scaffold the workflows capabilities and accept defaults without prompting.--json: Never prompt, print progress to stderr, and write the result to stdout as JSON ({ app, projectDir, capabilities, warnings }).--force: Skip (warn) an unresolvable cross-registry capability dependency at scaffold time instead of failing; add the registry that provides it later withmistral apps capability add.
Pass --json for machine-readable output.
Offline evaluations
mistral evals
Run, optimize, and manage offline evaluations
Usage:
mistral evals <subcommand> [flags]Subcommands:
optimize: Turn an eval file into an optimization search over its System params, or apply these flags to the eval's own optimize()exec: Discover and execute eval filesproject: Manage evaluation projectsevaluation: Manage evaluationsruns: Inspect and manage evaluation runsdataset: Manage evaluation datasetsjudge: Manage LLM judgesopen: Open (and print) an AI Studio evaluations deep link
mistral evals optimize
Turn an eval file into an optimization search over its System params, or apply these flags to the eval's own optimize()
Usage:
mistral evals optimize [flags] <file> [<args...>]Arguments:
<file>(string): Path to the eval file to optimize (e.g. summarization.eval.py)<args...>(string): Arguments passed to the eval file, after -- (e.g. -- --limit 10)
Flags:
--tune string: Comma-separated params to optimize, e.g. instruction,temperature..1. Default: all System.params. Not for an eval that calls optimize() itself--steer string: Free-text problem to fix, e.g. 'reduce hallucinations when the context lacks the answer'. Steers the optimizer (max 4000 chars)--name string: Human-friendly optimization name (auto-generated from the goal when omitted)--description string: Human-friendly optimization description (auto-generated from the goal when omitted)--algo choice: Search strategy (default: gepa, or the algo the eval passes to optimize()) (choices: gepa, simple)--iterations integer: Search budget (algo-specific default when omitted)--holdout number: Fraction reserved for the honest baseline-vs-winner delta--local: Run candidates without uploading to AI Studio--concurrency integer: Cap concurrent task/scorer calls (lower it to avoid provider rate limits)
mistral evals exec
Discover and execute eval files
Usage:
mistral evals exec [flags] [<paths...>]Arguments:
<paths...>(string): Eval files or directories to run (directories are scanned for *.eval.py; default: .). Arguments after -- are passed to each eval file
Flags:
--local: Run without uploading to AI Studio--tag string: Tag to attach to each run (repeatable); merged with the eval's own tags--max-concurrency integer: Cap concurrent task/scorer calls (lower it to avoid provider rate limits)--fail-fast: Stop on the first eval file that fails--dry-run: List the discovered eval files without running them--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals project
Manage evaluation projects
Usage:
mistral evals project <subcommand> [flags]Subcommands:
ls: List evaluation projectsget: Show one project by slugcreate: Create a projectdelete: Delete a project by slug
mistral evals project ls
List evaluation projects
Usage:
mistral evals project ls [flags]Flags:
--q string: Filter projects by name or slug--limit integer: Maximum number of projects to return, favorites first, then yours, then newest (default: 50)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals project get
Show one project by slug
Usage:
mistral evals project get [flags] <slug>Arguments:
<slug>(string): The project slug
Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals project create
Create a project
Usage:
mistral evals project create [flags] <name>Arguments:
<name>(string): The project name
Flags:
--description string: A human-friendly project description--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals project delete
Delete a project by slug
Usage:
mistral evals project delete [flags] <slug>Arguments:
<slug>(string): The project slug
Flags:
--yes: Confirm the deletion (required)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals evaluation
Manage evaluations
Usage:
mistral evals evaluation <subcommand> [flags]Subcommands:
ls: List a project's evaluationsget: Show one evaluation by slugcreate: Create an evaluation under a projectdelete: Delete an evaluation by slug
mistral evals evaluation ls
List a project's evaluations
Usage:
mistral evals evaluation ls [flags] <project>Arguments:
<project>(string): The project slug to list evaluations for
Flags:
--limit integer: Maximum number of evaluations to return, favorites first, then newest (default: 50)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals evaluation get
Show one evaluation by slug
Usage:
mistral evals evaluation get [flags] <slug>Arguments:
<slug>(string): The evaluation slug
Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals evaluation create
Create an evaluation under a project
Usage:
mistral evals evaluation create [flags] <project> <name>Arguments:
<project>(string): The project slug to create the evaluation in<name>(string): The evaluation name
Flags:
--description string: A human-friendly evaluation description--tag string: Tag to attach to the evaluation (repeatable)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals evaluation delete
Delete an evaluation by slug
Usage:
mistral evals evaluation delete [flags] <slug>Arguments:
<slug>(string): The evaluation slug
Flags:
--yes: Confirm the deletion (required)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals runs
Inspect and manage evaluation runs
Usage:
mistral evals runs <subcommand> [flags]Subcommands:
ls: List an evaluation's runsget: Show one run by id (stats, scores, evaluators, system)records: List a run's records (goal, scores, status, input), optionally filtered to the ones worth debuggingrecord: Show one record of a run in full: input, then per generation its output, status, and scores with rationalesdelete: Delete a run by idexport: Export a run's records to a file (CSV or JSONL)
mistral evals runs ls
List an evaluation's runs
Usage:
mistral evals runs ls [flags] <evaluation>Arguments:
<evaluation>(string): The evaluation slug to list runs for
Flags:
--limit integer: Maximum number of runs to return, newest first (default: 50)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals runs get
Show one run by id (stats, scores, evaluators, system)
Usage:
mistral evals runs get [flags] <run-id>Arguments:
<run-id>(string): The run id
Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals runs records
List a run's records (goal, scores, status, input), optionally filtered to the ones worth debugging
Usage:
mistral evals runs records [flags] <run-id>Arguments:
<run-id>(string): The run id
Flags:
--goal choice: Only records whose goals passed, failed, or were not evaluated (choices: passed, failed, not-evaluated)--score string: Score filter '<evaluator>[.<metric>] <op> <value>' (op: < <= > >= =; metric defaults to avg), e.g. 'exact < 1' (repeatable)--input-contains string: Only records whose input contains this text, case-insensitive (repeatable)--output-contains string: Only records whose output contains this text, case-insensitive (repeatable)--sort string: Sort by 'created_at' or by a score '<evaluator>[.avg|min|max|std]'--desc: Sort descending (newest first without --sort)--limit integer: Maximum number of records to return (default: 50)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals runs record
Show one record of a run in full: input, then per generation its output, status, and scores with rationales
Usage:
mistral evals runs record [flags] <run-id> <record-id>Arguments:
<run-id>(string): The run id<record-id>(string): The record id (fromruns records)
Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals runs delete
Delete a run by id
Usage:
mistral evals runs delete [flags] <run-id>Arguments:
<run-id>(string): The run id
Flags:
--yes: Confirm the deletion (required)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals runs export
Export a run's records to a file (CSV or JSONL)
Usage:
mistral evals runs export [flags] <run-id>Arguments:
<run-id>(string): The run id
Flags:
--format choice: Export file format (default: jsonl) (choices: jsonl, csv)--output string: Download the export to this path instead of printing the signed URL--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals dataset
Manage evaluation datasets
Usage:
mistral evals dataset <subcommand> [flags]Subcommands:
ls: List datasetsget: Show one dataset by idcreate: Create an empty datasetrecords: List a dataset's recordsadd-record: Add one record to a dataset from a JSON fileimport: Import records into a dataset from a JSONL file and wait for the import to finishtasks: List a dataset's import taskstask: Show one import task (status, progress, message)export: Export a dataset to JSONL (returns a presigned download URL)delete: Delete a dataset by id
mistral evals dataset ls
List datasets
Usage:
mistral evals dataset ls [flags]Flags:
--q string: Filter datasets by name--limit integer: Maximum number of datasets to return (default: 50)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals dataset get
Show one dataset by id
Usage:
mistral evals dataset get [flags] <dataset-id>Arguments:
<dataset-id>(string): The dataset id
Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals dataset create
Create an empty dataset
Usage:
mistral evals dataset create [flags] <name>Arguments:
<name>(string): The dataset name (5 to 50 characters)
Flags:
--description string: A human-friendly dataset description--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals dataset records
List a dataset's records
Usage:
mistral evals dataset records [flags] <dataset-id>Arguments:
<dataset-id>(string): The dataset id
Flags:
--limit integer: Maximum number of records to return (default: 50)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals dataset add-record
Add one record to a dataset from a JSON file
Usage:
mistral evals dataset add-record [flags] <dataset-id> <file>Arguments:
<dataset-id>(string): The dataset id<file>(string): Path to a JSON file with the record: {"payload": {...}, "properties": {...}} (properties optional)
Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals dataset import
Import records into a dataset from a JSONL file and wait for the import to finish
Usage:
mistral evals dataset import [flags] <dataset-id> <file>Arguments:
<dataset-id>(string): The dataset id<file>(string): Path to a JSONL file, one {"payload": {...}, "properties": {...}} record per line
Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals dataset tasks
List a dataset's import tasks
Usage:
mistral evals dataset tasks [flags] <dataset-id>Arguments:
<dataset-id>(string): The dataset id
Flags:
--limit integer: Maximum number of tasks to return (default: 50)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals dataset task
Show one import task (status, progress, message)
Usage:
mistral evals dataset task [flags] <dataset-id> <task-id>Arguments:
<dataset-id>(string): The dataset id<task-id>(string): The import task id
Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals dataset export
Export a dataset to JSONL (returns a presigned download URL)
Usage:
mistral evals dataset export [flags] <dataset-id>Arguments:
<dataset-id>(string): The dataset id
Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals dataset delete
Delete a dataset by id
Usage:
mistral evals dataset delete [flags] <dataset-id>Arguments:
<dataset-id>(string): The dataset id
Flags:
--yes: Confirm the deletion (required)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals judge
Manage LLM judges
Usage:
mistral evals judge <subcommand> [flags]Subcommands:
ls: List judgesget: Show one judge by idcreate: Create a judge from a JSON definition filedelete: Delete a judge by id
mistral evals judge ls
List judges
Usage:
mistral evals judge ls [flags]Flags:
--q string: Filter judges by name--limit integer: Maximum number of judges to return (default: 50)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals judge get
Show one judge by id
Usage:
mistral evals judge get [flags] <judge-id>Arguments:
<judge-id>(string): The judge id
Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals judge create
Create a judge from a JSON definition file
Usage:
mistral evals judge create [flags] <file>Arguments:
<file>(string): Path to a JSON file with the judge definition (name, description, model_name, output, instructions, tools)
Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals judge delete
Delete a judge by id
Usage:
mistral evals judge delete [flags] <judge-id>Arguments:
<judge-id>(string): The judge id
Flags:
--yes: Confirm the deletion (required)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral evals open
Open (and print) an AI Studio evaluations deep link
Usage:
mistral evals open [flags]Flags:
--project string: Open a specific project by slug--evaluation string: Open a specific evaluation by slug (needs --project)--no-browser: Only print the URL; do not launch a browser
Observability
mistral observability
Inspect traces and observability data
Usage:
mistral observability <subcommand> [flags]Subcommands:
traces: Search and inspect tracesspans: Search and inspect individual spans within traceslogs: Search log entries emitted by services and agents
mistral observability traces
Search and inspect traces
Usage:
mistral observability traces <subcommand> [flags]Subcommands:
search: Search LLM traces by filter expression and time windowget: Fetch the full details of a single trace by ID
mistral observability traces search
Search LLM traces by filter expression and time window
Usage:
mistral observability traces search [flags] [<filter>]Arguments:
<filter>(string): SQL-like filter expression, e.g. 'agent_name = "vibe" AND status_code = "ERROR"'
Flags:
--from string: Start of the time window — ISO-8601 or relative (e.g. -1h, -7d); default: 1 hour ago--to string: End of the time window — ISO-8601 or relative (e.g. -1h); default: now--limit integer: Number of traces to return (1–100, default: 25)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral observability traces get
Fetch the full details of a single trace by ID
Usage:
mistral observability traces get [flags] <trace-id>Arguments:
<trace-id>(string): The trace ID to fetch
Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral observability spans
Search and inspect individual spans within traces
Usage:
mistral observability spans <subcommand> [flags]Subcommands:
search: Search spans by filter expression and time windowget: Fetch the full details of a single span by trace ID and span ID
mistral observability spans search
Search spans by filter expression and time window
Usage:
mistral observability spans search [flags] [<filter>]Arguments:
<filter>(string): SQL-like filter expression, e.g. 'span_type = "llm" AND status_code = "ERROR"'
Flags:
--from string: Start of the time window — ISO-8601 or relative (e.g. -1h, -7d); default: 1 hour ago--to string: End of the time window — ISO-8601 or relative (e.g. -1h); default: now--limit integer: Number of spans to return (1–100, default: 25)--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral observability spans get
Fetch the full details of a single span by trace ID and span ID
Usage:
mistral observability spans get [flags] <trace-id> <span-id>Arguments:
<trace-id>(string): The trace ID that contains the span<span-id>(string): The span ID to fetch
Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral observability logs
Search log entries emitted by services and agents
Usage:
mistral observability logs <subcommand> [flags]Subcommands:
search: Search log entries by filter expression and time window
mistral observability logs search
Search log entries by filter expression and time window
Usage:
mistral observability logs search [flags] [<filter>]Arguments:
<filter>(string): SQL-like filter expression, e.g. 'severity = "ERROR" AND service_name = "api"'
Flags:
--from string: Start of the time window — ISO-8601 or relative (e.g. -1h, -7d); default: 1 hour ago--to string: End of the time window — ISO-8601 or relative (e.g. -1h); default: now--limit integer: Number of log entries to return (1–100, default: 25)--json: Emit the output as JSON.
Pass --json for machine-readable output.
Account and context
mistral login
Sign in to Mistral in your browser
Usage:
mistral login [flags]Flags:
--force: Re-authenticate even if already signed in--device: Use device authorization flow (RFC 8628) for headless environments--insecure-storage: Keep the sign-in in a file when no OS keychain is available--api-key string: Save an API key instead of using the browser flow; pass - to read it from stdin
mistral logout
Sign out and remove stored credentials
Usage:
mistral logout [flags]mistral whoami
Show the signed-in identity
Usage:
mistral whoami [flags]Flags:
--json: Emit the output as JSON.
Pass --json for machine-readable output.
mistral context
Show or set the active organization and workspace
Usage:
mistral context <subcommand> [flags]Subcommands:
show: Show the active organization and workspaceset: Select an organization and workspace
mistral context show
Show the active organization and workspace
Usage:
mistral context show [flags]mistral context set
Select an organization and workspace
Usage:
mistral context set [flags]Flags:
--organization string: Organization ID or name (skip the interactive prompt)--workspace string: Workspace ID or name (skip the interactive prompt)
Upgrade
mistral upgrade
Upgrade this CLI to the latest release
Usage:
mistral upgrade [flags]Flags:
--dry-run: Print the install command instead of running it