Skip to content

Errors and Failure Modes

General format

User-facing CLI errors are written to stderr in the format:

text
error: <message>

The command exits with a non-zero exit code.

Common blocking situations

SituationWhat it meansWhat to do
Local changes during syncsync may overwrite the working treerun aiman push, save changes manually, or use --force
Remote is ahead during pushthe published state has moved forwardrun aiman sync
Git history has divergedAIM cannot safely choose a staterestore Git manually
AI environment not foundadapter could not find the base dirset the path in aim.local.yaml
MCP env not seta required variable is missingenter during sync or add to aim.local.yaml
Invalid Skillmissing name, filename mismatch, or empty bodyfix skills/<name>.md
Invalid MCP Itemmissing required field or invalid YAMLfix mcp/<name>.yaml
No access to remoteGit cannot read or write the repositorycheck network, credentials, and permissions

--dry-run

For potentially destructive operations, run dry-run first:

bash
aiman push --dry-run
aiman sync --dry-run
aiman apply --dry-run

Dry-run shows the plan without writing to Git, the inventory repository, or AI environments.

--force

aiman sync --force allows local changes to be overwritten when applying the published state.

Use this flag only if the local working tree can be safely discarded or restored.

Released under the Apache 2.0 License.