Skip to content
Apothem
CLI reference

status

CLI reference for the apothem status command.

Report install, verify, and drift state for every registered harness.

Synopsis

apothem status [--profile PATH] [--project PATH]
               [--quiet|-q] [--verbose|-v]
               [--format plain|json] [--json] [--no-color]

status is a read-only inspection command. It iterates every registered harness adapter and reports three facts per harness: whether it is installed, whether its managed targets verify, and whether the installed configuration has drifted from the shared profile. It writes nothing to disk.

For each harness, status reports:

ColumnMeaning
installedThe adapter's managed config exists at its target path.
verifiedThe adapter's managed targets are present and valid.
driftThe profile-fidelity verdict (see below).

The drift value is one of:

ValueMeaning
in-syncThe installed configuration carries the freshly-projected shared profile verbatim.
driftThe harness is installed but its projected profile content no longer matches the current shared profile. Re-run apothem install to re-project.
absentThe harness is not installed, so there is nothing to compare.
needs-projectA project-scope harness was reported without --project, so its target cannot be resolved. Pass --project PATH to inspect it.
unknownThe default profile could not be loaded, so an installed harness has no baseline to compare against. Fix the profile to restore the drift verdict.

Drift is reported, never treated as an error: status exits 0 even when one or more harnesses report drift. Drift is a fact about your setup, not a failure of the command.

If the default shared profile cannot be loaded, drift degrades to unknown for installed harnesses (the installed/verified facts are still reported) rather than aborting the sweep. An explicit --profile that cannot be loaded is a user error and aborts with a structured error instead.

Options

OptionDescription
--profile PATHShared profile YAML that selects the drift baseline. Without it, the default profile (~/.config/apothem/profile.yaml) is used.
--project PATHProject root for project-scope harnesses. Without it, project-scope harnesses report needs-project.
--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

The --json envelope carries one result row per registered harness. Each row carries the documented keys harness, installed, verified, and drift.

{
  "status": "success",
  "command": "status",
  "action": "status",
  "harness": "all",
  "files_written": [],
  "results": [
    {
      "harness": "claude-code",
      "installed": true,
      "verified": true,
      "drift": "in-sync"
    },
    {
      "harness": "cursor",
      "installed": false,
      "verified": false,
      "drift": "needs-project"
    }
  ],
  "warnings": [],
  "error": null
}

Per-adapter failure isolation: if a single adapter raises while reporting its status, that harness's row carries outcome: "error" and a message, the remaining harnesses still report normally, and the process exits with code 2.

Examples

apothem status
apothem status --project .
apothem status --json

Exit codes

CodeMeaning
0Status reported (drift is reported, not an error)
1Expected validation error (invalid --profile, or a --project path that does not exist)
2At least one adapter failed to report its status

See also

On this page