aidokitv1.0 rc

Exit codes

A grouped taxonomy. Every aidokit command maps its failures into these codes. Codes are stable across releases.

Groups

CodeGroupMeaning
0SuccessCommand completed.
1Generic errorUnhandled or uncategorised error.
2Bad invocationUnknown flag, missing argument, mutually-exclusive flags.
10Prereq missingA required prerequisite is not installed or too old.
11AdapterAdapter not found, failed to load, or version-incompatible.
12Stack packStack pack not found or failed to load.
13ConformanceConformance harness or doctor check failed.
20FilesystemFile write / read / permission failure.
21MCPMCP install / remove command failed.
30MigrationMigration script failure.
40UserUser cancelled an interactive prompt.
50NetworkNetwork operation failed (search, package fetch).
60ValidationSchema validation failed.
70ConflictFile conflict during sync; user did not resolve.

Reserved AidoError.code values

CodeExitNotes
BAD_INVOCATION2Argument parsing failure.
PREREQ_MISSING10Required prereq not installed.
PREREQ_VERSION_TOO_LOW10Installed but below minimum version.
ADAPTER_NOT_FOUND11Adapter package not installed.
ADAPTER_LOAD_FAILED11Adapter package failed to import.
ADAPTER_SPEC_MISMATCH11Adapter's spec version differs from CLI's.
STACK_PACK_NOT_FOUND12Stack pack not installed.
CONFORMANCE_FAILED13Harness or doctor check failed.
FS_WRITE_FAILED20File write error.
FS_PERMISSION_DENIED20Insufficient permissions.
MCP_INSTALL_FAILED21MCP registration command exited non-zero.
MCP_NOT_IN_CATALOG21Requested MCP id not in catalog (no --custom-url).
MIGRATION_FAILED30Migration script error.
USER_CANCELLED40User declined an interactive prompt.
NETWORK_FAILED50Network operation failed.
OFFLINE50Network needed but AIDO_OFFLINE=1.
VALIDATION_FAILED60Artifact failed schema validation.
SYNC_CONFLICT70Sync diff has conflicts and user did not resolve.

Error envelope

Human mode:

output
✗ Prerequisite missing: Claude Code (PREREQ_MISSING)

  Detected:  No `claude` command found on PATH.

  Hint:      Install Claude Code via:
               curl -fsSL claude.ai/install.sh | bash

             Or set --skip-prereq-check to bypass.

JSON mode (--json):

json
{
  "ok": false,
  "command": "init",
  "error": {
    "code": "PREREQ_MISSING",
    "exitCode": 10,
    "message": "Prerequisite missing: Claude Code",
    "details": { "prereq": "claude-code", "minVersion": "2.1.32" },
    "hint": "Install Claude Code via: curl -fsSL claude.ai/install.sh | bash"
  }
}

Conventions