| name | fm |
| description | Invokes Apple's macOS 27 fm command-line tool from a local Mac to use the on-device system model or Private Cloud Compute, including instructions, image prompts, schema-constrained JSON, and noninteractive automation. Use when the user asks to run Apple Foundation Models through fm, compare system versus pcc, generate structured output, or automate fm without Swift or an app. |
fm
Use Apple's installed fm command-line tool directly. Do not create an Xcode project, Swift package, Mac app, daemon, MCP server, or network service for this workflow.
Execution boundary
-
Run commands only in a shell that is local to the user's Mac.
-
Before the first invocation in a thread, run:
scripts/fmctl.sh check
-
If the check reports a non-macOS environment or a missing /usr/bin/fm, stop and state the exact prerequisite. Never substitute another model while claiming its output came from fm.
-
Use scripts/fmctl.sh respond for agent-driven, noninteractive requests. Do not launch fm chat from an unattended shell.
-
The wrapper creates a sized pseudo-terminal for compatibility with Private Cloud Compute, while passing user content as argument values rather than interpolating it into shell code.
Model routing
- Use
system by default. It is the on-device model and is the preferred choice for local or sensitive content.
- Use
pcc only when the user explicitly asks for Private Cloud Compute, PCC, Apple's cloud model, or otherwise clearly requests remote model processing.
- State which model produced the result.
- Do not send credentials, private keys, tokens, or other secrets to unless the user explicitly directs that exact disclosure.