Errors and exit codes
Without --json, CLI errors are written to standard error as human-readable text beginning with error:. With --json, errors contain schema_version and an error object with code, message, and exit_code.
| Exit code | Error code | Meaning | Recovery |
|---|---|---|---|
0 |
None | Success | Consume stdout. |
1 |
operation_failed |
Vault read, write, or transcription failure, an unsupported import format, or an unhealthy doctor report |
Check the reported action or inspect the diagnostic report and confirm app and CLI compatibility. |
2 |
not_found |
Meeting, audio file, or other requested data not found | List meetings again and use a returned ID, or verify the file path you passed. |
3 |
vault_not_found |
Vault not found at the resolved path | Start Free Meeting Transcriber once or pass --vault-path. |
4 |
output_exists |
Export output already exists | Choose another path or explicitly pass --force to replace the file. |
Invalid arguments use the invalid_arguments error code with Clap’s nonzero exit code.
MCP reports missing meetings as invalid parameters. Vault and serialization failures are internal MCP errors.
Never recover by editing vault files directly; go through the CLI’s write commands or the desktop app. When a write command fails after creating a meeting, the error names the new meeting id — finish the job against that id instead of retrying from scratch (for example fmtr meetings note ID --set after a failed note write, or fmtr transcribe ID after a failed import --transcribe). The MCP server remains read-only.