Observe¶
These four commands look at this installation and print what they found. They create no device, no passport, no configuration file, and no project.
The executable is ai-stp. The PyPI package is ai-stp-cli. Copy every
command from this page with --json so stdout holds exactly one envelope.
Commands¶
| Command | Mutability | Confirmation | When |
|---|---|---|---|
ai-stp version |
read |
none |
Report the running build and the contract versions it speaks. |
ai-stp doctor |
read |
none |
Report the setup state of this installation without changing it. |
ai-stp help |
read |
none |
Emit the full command registry for an agent. |
ai-stp capabilities |
read |
none |
Report what this installation can do right now. |
mutability: read means the command observes. A missing device, an empty
registry, or a configuration file that was never created is a typed answer,
not a reason to mint one.
Typical path¶
Everyday agent session:
Expert observe / health, when the user asked what is broken:
Expert command-path dump of this build:
Expert full registry of this install:
Read doctor before inventing a recovery ritual. If a check is
needs_user_action, follow that check. capabilities answers a narrower
question than version: which surfaces this build can talk to right now.
Do not infer harness support from a version string.
help --agent is the parser of this install. Documentation groups
commands so a person can find a page. An agent must not reconstruct flags
from memory when the CLI already answers with continuation argv.
version¶
Report the running build and the contract versions it speaks.
Use it to confirm that the shell is talking to the ai-stp you just
installed, not a different copy earlier on PATH. It does not check the
network, the device, or the catalog.
Successful data names:
| Field | What it is |
|---|---|
cli_version |
the running CLI version |
python_version |
the interpreter this process is using |
schema_version |
the local schema major this build speaks |
wire_schema_version |
the wire schema major this build speaks |
doctor¶
Report the setup state of this installation without changing it.
It is a report, not a verdict you have to “fix” in one shot. state is the
worst state among the checks, so a caller that reads one field still gets
the truth. Each check has name, state, and detail.
state on the report and on a check is one of ready, needs_user_action,
partial, or failed.
Checks this build currently names:
name |
What it looked at |
|---|---|
python_runtime |
whether the interpreter meets the floor |
configuration |
whether the configuration file, if present, can be honoured |
local_registry |
whether the local registry file is usable |
catalog |
whether the public catalog is enabled in configuration |
credential_store |
where secrets would be kept (os_keyring or file) |
device_identity |
whether this installation already has a device |
file_permissions |
whether private paths are owner-only |
interrupted_operations |
operations that stopped without a settled outcome |
component_layouts |
whether known component layouts still parse |
composition_passports |
whether recorded compositions still have a head |
addressable_objects |
whether every local object has a head revision |
provider_binding |
whether a remembered provider still resolves |
cli_update |
whether a CLI self-update is interrupted or a newer wheel is cached |
doctor does not create a device when device_identity is empty. It does
not install a toolchain, an Agent Skill, or a harness program. Those are
separate commands, reached after you have read the report.
Absence is an answer
A read command on a fresh install returns typed emptiness. It does not
silently run device init.
help¶
Emit the full command registry for an agent.
--agent names the caller. The machine registry is the only answer this
command has, with or without that flag. Keep --agent in the invocation
anyway: every other page in this help center treats
ai-stp help --agent --json as the parser.
Successful data names:
| Field | What it is |
|---|---|
cli_version |
the running CLI version |
commands |
every declared command, with path, summary, mutability, confirmation, parameters, parameter rules, result schema, and next_actions |
error_codes |
the closed error registry this build can emit |
global_options |
options every command accepts, including --json |
schema_version |
the schema major of this envelope |
A command that this install cannot run is absent from commands, not
described as “not implemented”. If a page names a command that help
does not, stop. Do not substitute a similar path.
capabilities¶
Report what this installation can do right now.
This is deliberately not a copy of the command registry. It carries the
few facts that decide whether a later call is even worth making.
command_paths is an index into help --agent, not a substitute for it.
Successful data names:
| Field | What it is |
|---|---|
cli_version |
the running CLI version |
command_paths |
the command paths this build declares |
supported_harnesses |
harness identifiers this build can name |
catalog_enabled |
whether configuration currently consults the public catalog |
sync_enabled |
whether cloud synchronisation is on |
schema_version |
the local schema major |
wire_schema_version |
the wire schema major |
supported_harnesses is the product set this build knows:
claude-code, codex, pi, opencode, grok-build, cursor,
antigravity. Presence in that list is not proof that the program is
installed on this machine. For that, use
Toolchain (toolchain harnesses) and
Harness program (harness status).
Do not treat catalog_enabled: false as a platform outage. It is a
configuration value. See Configuration.
What a successful envelope contains¶
With ok: true the result is in data. The envelope also carries
warnings, next_actions, request_id, operation_id, and
schema_version. warnings may still be worth showing. next_actions
names a sensible next command, not a permission.
With ok: false, error.code is a stable code from the closed registry;
error.retryable says whether a repeat is allowed. Do not guess the next
step from the process exit class alone.
What these commands never do¶
- call a model API or ask for a model key;
- write a harness target — only the public provider does;
- create a device, a passport, or a configuration file;
- install a toolchain, an Agent Skill, or a harness program;
- treat
author_verifiedas proof that a component version is safe.
Typical refusals¶
| What you see | What it means | What to do |
|---|---|---|
ai-stp not found |
the tool is missing or not on PATH |
reinstall with uv tool install ai-stp-cli, then check uv tool list |
doctor device_identity is not ready |
identity was never created, or the store cannot read it | ai-stp device init --json if it was never created; otherwise read detail |
doctor local_registry is not ready |
the registry file is missing, unreadable, or not a registry | follow detail; do not delete the file to “retry” |
| capabilities omit a harness | this build cannot drive that target | pick a shipped harness, or read Harnesses |
a command is absent from help --agent |
this install does not have it | stop; do not substitute a similar command |
ok: false with retryable: false |
repeating the same argv will not help | read error.code and next_actions |
Related pages¶
| Page | Why |
|---|---|
| Quickstart for agents | the session ritual |
| CLI | envelopes, mutability, and the command groups |
| Command map | one row per command |
| Configuration | values this install should honour |
| Device | identity of this installation |
| Passports | developer and device facts |
| Toolchain | managed tools and harness survey |
| Agent Skill CLI | the CLI's own skill, not kind skill |
| Troubleshooting | what to do after a red check |
Flags from ai-stp help --agent --json
If help --agent disagrees with a flag on this page, the CLI wins.
Optional flags are not listed here. Read them from the descriptor.