FM(1) General Commands Manual FM(1)

fmcommand-line interface for Apple Foundation Models

fm [-h] command [options]

fm is a command-line interface for Apple Foundation Models. It generates responses from Apple's on-device and Private Cloud Compute language models, counts tokens, generates JSON generation schemas, checks model availability and quota usage, and hosts a Chat Completions API server.

By default every command uses the on-device system model. Pass --model pcc to run against the Apple Foundation Model on Private Cloud Compute instead.

Run 'fm <command> --help' for detailed help on an individual command.

Generate a response to a prompt.
Start an interactive chat session.
Count the tokens in a prompt, instructions, or transcript.
Generate a JSON generation schema.
Start a Chat Completions API server for Foundation Models.
Check model availability.
Check model quota usage.
Show and agree to the Legal Notice & Terms.

On-device Apple Foundation Model (default).
Apple Foundation Model on Private Cloud Compute.

Model to use: system or pcc (default: system).
Show help information.

Instructions for the model to follow.
--schema <file>
Path to a JSON schema file, or an inline JSON schema string.
--text <text>
Text segment to include in the prompt.
--image <path>
Path to an image to include in the prompt.
--resume <file>
Continue an earlier conversation by loading a saved transcript, so the model picks up with its previous turns as context.
--save-transcript <file>
Save the session transcript to a file after responding. An absolute path is used as-is; a bare filename is saved in the current directory.
--[no-]stream
Stream the output as it is generated (default: on).
Use greedy sampling.
Print verbose output.
--use-case <case>
System model use case: general or content-tagging.
--guardrails <level>
System model guardrail level: default or permissive-content-transformations.

Resume a saved chat session.
--continue
Continue the most recent chat session.
Instructions for the model.
--set-default-model <model>
Persist <model> as the default for future fm chat sessions.

--transcript <file>
Path to a saved transcript to count. Its turns are counted as a framed conversation. A bare prompt is counted as raw content instead.
Print only the integer count (automatic when stdout is piped or redirected).

--host <address>
Host address to bind to (TCP mode).
--port <port>
Port to listen on, 1-65535 (TCP mode).
--socket <path>
Unix domain socket path (socket mode).

fm schema object generates a JSON generation schema for an object type. Each --string, --integer, --double, or --boolean starts a new property; follow it with --description, --optional, and/or --array to annotate it. Use dot notation (a.b) in property names to nest objects.

fm schema object --help documents the full property-declaration syntax.

The first time you run fm you must agree to the Apple Foundation Models CLI Legal Notice & Terms. fm displays them and asks whether you agree; answer 'yes' or 'y' to agree. Any other response disagrees and fm exits with status 69 without running the command.

fm license is the one command that is never gated, since it is how you review the terms and agree to them.

Agreeing applies to every user on the machine, so it must be run as a privileged user: run 'sudo fm license'.

Run 'sudo fm license' to review and agree, 'fm license --show' to print the terms without being prompted, and 'fm license --status' to report whether the machine has agreed.

Saved chat sessions and transcripts.
Per-user settings, including the default model.

Generate a response with the on-device model:

fm respond 'What is Swift?'

Stream a response from Private Cloud Compute:

fm respond --model pcc --stream 'Summarize this article'

Start an interactive chat with custom instructions:

fm chat --instructions 'You are a coding assistant'

Count the tokens in a prompt:

fm count-tokens 'Hello world'

Generate a JSON schema for an object type:

fm schema object --name Person --string name --int age

Foundation Models framework documentation: https://developer.apple.com/documentation/foundationmodels

June 8, 2026 Darwin