Invocation and credentials

Every filemaker operation names one FileMaker file. Protected files also need a FileMaker account. For unattended scripts, store the password in macOS Keychain once, then use --username, --keychain, and --no-prompt on each run.

Invocation

Pass an NDJSON operations file as the final argument:

Copy
filemaker --file="/absolute/path/Contacts.fmp12" \
  --username="Developer" \
  --keychain \
  --no-prompt \
  ops.ndjson

If you omit the operations file, filemaker reads NDJSON from standard input. See Operation syntax and NDJSON input for the input format.

The --file target can be an absolute or relative path to a local .fmp12 file, or an fmnet:// URL for a hosted file. Relative paths resolve from the current directory. A path beginning with ~ is refused rather than expanded.

Credentials for unattended scripts

Store a protected file's password in Keychain from an interactive terminal:

Copy
filemaker --file="/absolute/path/Contacts.fmp12" \
  --username="Developer" \
  --store-credentials

The command prompts for the password, stores it in macOS Keychain, and exits without opening the file. Subsequent scripts use the first example's --keychain --no-prompt combination.

--no-prompt is the default, but include it in unattended scripts to state that the process must never wait for a credential window. If Keychain has no accepted password, the command reports an authentication failure and exits.

Keychain credentials are associated with the account and the resolved --file target. Use the same fully resolved path or fmnet:// URL every time so the command finds the stored credential.

To remove the stored password, run this from an interactive terminal:

Copy
filemaker --file="/absolute/path/Contacts.fmp12" \
  --username="Developer" \
  --forget-credentials

Warning  Do not pass passwords on the command line Avoid --password. Its value can appear in the process list, shell history, logs, and automation configuration. Do not put a FileMaker password in an NDJSON file either.

Credentials for interactive use

When a person is available to respond, combine --keychain with --prompt:

Copy
filemaker --file="/absolute/path/Contacts.fmp12" \
  --username="Developer" \
  --keychain \
  --prompt \
  ops.ndjson

filemaker tries the stored password first. If it is missing or rejected, a native window asks for the account and password and offers to save the accepted credential. The password does not pass through the command line.

Omit all credential options for an unprotected file. The account used to authenticate is separate from --user-name, which sets the name shown as the modifier in FileMaker Pro.

Built-in help

The installed binary is the authority for the release on the machine:

Copy
filemaker --help
filemaker help
filemaker help field create
filemaker help --json --all
  • filemaker --help documents the invocation and global options.

  • filemaker help lists the operation catalogs.

  • filemaker help <catalog> <verb> documents one operation and the fields it accepts.

  • filemaker help --json --all returns the complete operation reference as JSON for tooling.