Skip to content
Apothem
CLI reference

verify

CLI reference for the apothem verify command.

Verify a harness adapter installation.

Synopsis

apothem verify --harness NAME|all [--profile PATH] [--project PATH]
                [--quiet|-q] [--verbose|-v]
                [--format plain|json] [--json] [--no-color]

Calls each selected adapter's verify() implementation. Exits 0 only when all selected adapters report their managed targets are present and valid. Without --profile the check is structural — every managed target must be present and valid. With --profile the check additionally requires profile fidelity, so a present-but-drifted install fails verify, answering "is THIS profile faithfully installed?" rather than merely "does it exist?".

For an adapter that writes skills to your home directory, verify also checks that every skill folder it expects exists with a SKILL.md, whichever install wrote it, so a machine where only one of the tools that share a folder is installed verifies. It fails when a folder is missing, and when a folder with an Apothem skill's name belongs to something Apothem did not write. A failed row says which: in plain mode a Note: line follows it, and in the JSON row a user_level object lists missing and unlisted paths and a message. Run install to restore a missing folder; rename or move a foreign one, then run update.

A --harness all sweep honors the profile's exclude_harnesses — the same exclusions the install/update batch applied — so verify never reports a deliberately excluded harness as missing. The exclusions come from --profile when given, otherwise from the default profile; an unreadable or absent default degrades to the full registry.

Options

OptionDescription
--harness NAMEHarness adapter to verify, or all for the registry-wide set (required).
--profile PATHShared profile YAML to check fidelity against. Without it, the check is purely structural.
--project PATHProject root for project-scope harnesses.
--quiet, -qSuppress informational output; only errors are emitted.
--verbose, -vEmit additional diagnostic output.
--format plain|jsonOutput format (default: plain).
--jsonShorthand for --format json.
--no-colorDisable ANSI color codes in output.
-h, --helpShow help and exit.

JSON output

{
  "schema_version": 1,
  "status": "success",
  "command": "verify",
  "action": "verified",
  "harness": "claude-code",
  "files_written": [],
  "results": [
    {
      "harness": "claude-code",
      "outcome": "unchanged",
      "operation": "verify",
      "path": "C:\\Users\\Example\\.claude\\settings.json",
      "message": "managed targets verified",
      "installed": true,
      "verified": true
    }
  ],
  "warnings": [],
  "error": null,
  "installed": true,
  "verified": true,
  "output_path": "C:\\Users\\Example\\.claude\\settings.json"
}

When any selected harness is missing or invalid, status is error, the failing result row carries verified: false, and the process exits with code 1.

Examples

apothem verify --harness claude-code
apothem verify --harness claude-code --json
apothem verify --harness all --project .

Exit codes

CodeMeaning
0Harness verified — all managed targets present and valid
1Harness not verified — managed targets missing or invalid
64Usage error: an unknown option or command, or a missing or invalid option value. Under --json the error is a JSON envelope with code cli.usage.

See also

On this page