MMT prints errors as <code>: <message> and exits with status 1. For more detail on what was sent and received, run the command again with --debug before it, for example mmt --debug pull. Debug output includes your API token, so don’t share it as is.
Connecting and signing in#
| Message | Cause and fix |
|---|---|
access_denied: BranchList_Load_Query: Access denied (or another function) |
The store rejected the token or SSH key. Check that the token is enabled, your IP address is on its list, it has a signing key, and it has permission for the function named. See Set up credentials. |
MMT-COMMAND-00015: Missing HTTP Basic Authentication credentials |
The store is behind HTTP basic authentication. Add a login to the credential with mmt credential update -m <user> <credential>. |
MMT-COMMAND-00015: Invalid HTTP Basic Authentication credentials |
The HTTP basic authentication login is wrong. Update it with -m and -w. |
MMT-COMMAND-00002: <Function>: ... |
MMT couldn’t reach the store or read its response. Check the credential’s URL (it should end in json.mvc) and your connection. |
MMT-COMMAND-00008: Incorrect private key password |
The SSH key’s passphrase was entered wrong three times. |
MMT-COMMAND-00014: SSH private key '<path>' does not exist |
The private key was moved or deleted. Update the credential with -k. |
| A Python error mentioning the key format | The SSH key isn’t an RSA key. Create one with ssh-keygen -t rsa -m pem. |
Credentials and remotes#
| Message | Cause and fix |
|---|---|
MMT-COMMAND-CREDENTIALS-00004: An API Signing Key value is required |
MMT needs the token’s signing key. Turn on the signature setting for the token and add the key with -s. |
MMT-COMMAND-CREDENTIALS-00012 / -00013 |
Give either token options (-t, -s) or SSH options (-n, -k), not neither or both. |
MMT-COMMAND-00010: Remote key '<key>' does not exist |
The checkout’s remote was renamed or deleted. Run mmt switch <new remote> in the checkout. |
MMT-COMMAND-00011: Credential key '<key>' does not exist |
The remote’s credential was renamed or deleted. Run mmt remote update -c <credential> <remote>. |
Checkouts#
| Message | Cause and fix |
|---|---|
MMT-COMMAND-00001: MMT has not been configured for path '.' |
You’re not in a checkout’s top folder. cd into the folder that contains .mmt, or check out first. |
MMT-COMMAND-CHECKOUT-00009: Branch '<name>' does not exist |
The remote’s branch name doesn’t match a branch on the store. Check with mmt branch list; names must match exactly. |
MMT-COMMAND-CHECKOUT-00010: Changeset N does not exist |
The changeset number given with -c isn’t on that branch. See mmt log. |
MMT-METADATA-00001: Failed to parse '<file>' |
A file in .mmt or ~/.mmt was edited and is no longer valid JSON. For a checkout, run mmt checkout --reinitialize <remote> . to rebuild it. |
Pushing and pulling#
| Message | Cause and fix |
|---|---|
No files to commit |
Nothing changed since the last checkout, pull or push, or the files you named aren’t tracked. Files you create yourself are never pushed. |
MMT-COMMAND-PUSH-00001: Either the --notes parameter must be specified or the 'editor' configuration setting must be set |
Add -n "notes", or set an editor. |
MMT-COMMAND-PUSH-00003: Failed to parse JSON in '<file>' |
A settings .json file has a syntax error. Fix it and push again. |
MMT-COMMAND-PULL-00001: Update failed as the following files contain local modifications |
You asked to pull files you’ve changed. Push or revert them first, or add --force to replace them. |
MMT-COMMAND-PULL-00004: Update failed as the following files are out-of-sync with the server and contain local modifications |
Someone else changed files you’ve also changed. See Why pull comes first. |
MMT-COMMAND-DIFF-00001: The 'diff' configuration setting must be set |
Set a diff tool. |
MMT-COMMAND-REVERT-00001 |
Name the files to revert, or use --all. |
MMT-COMMAND-SRI-00002: File '<file>' is not a local resource |
mmt sri works only on Local JS and CSS files (.js, .css). |
Other problems#
mmtisn’t found after installing. Add Python’s user scripts folder to yourPATH. See Install MMT.- A file shows as modified but you didn’t change it. Your editor may have changed line endings or the encoding.
mmt diffshows the difference. - Push overwrote someone’s change. Push doesn’t check for conflicts. Pull before every push.