Most/Docs

most-cli diagnostics

The transport whose worker answers: the iMessage worker is `imessage`, the Twilio text path is `sms`.

Invocation#

sh
most-cli diagnostics <transport> <probe> [--filter <filter>] [--max-classes <max_classes>] [--chat-guid <chat_guid>] [--channel <channel>] [--text]

Purpose#

The transport whose worker answers: the iMessage worker is `imessage`, the Twilio text path is `sms`.

The same read is the MCP tool `most_diagnostics`; both call `GET /internal/diagnostics/{transport}/{probe}` on the service `MOST_BASE_URL` names, with the bearer `MOST_AGENT_API_TOKEN` when it is set.

Inputs and options#

  • `<transport>` (required, positional 1): The transport whose worker answers: the iMessage worker is `imessage`, the Twilio text path is `sms`.
  • `<probe>` (required, positional 2): What to check, as the worker names it. The iMessage worker answers `account` (live account handles), `dictionary` (the account and participant classes and services Messages.app's AppleScript dictionary declared when the relay started, read from this host's `sdef`), `me-card` (the Contacts Me card), `nickname-runtime` (the Obj-C nickname classes), `nickname-sharing` (the Name & Photo selectors) and `personal-nickname-payload` (the current Name & Photo payload); the text path answers `readiness` (whether a text could be sent at all).
  • `--filter <filter>`: nickname-runtime: optional substring to narrow the probed Obj-C nickname classes.
  • `--max-classes <max_classes>`: nickname-runtime: optional nonnegative class count. Omit for every matching class; zero returns no rows. No additional cap is applied.
  • `--chat-guid <chat_guid>`: nickname-sharing: optional chat GUID to scope the Name & Photo selector probe.
  • `--channel <channel>`: readiness: which Twilio channel to report on, `sms` when omitted or `rcs`.
  • `--text`, anywhere on the line: print the answer as `key: value` lines for a person.

Output and state effect#

Read-only. Prints the server's JSON answer verbatim and exits 0; with `--text`, the same document as `key: value` lines. Nothing is written on the client.

Refusals#

  • `reading the command line: most-cli was given no command` — exit 2. Fix: run `most-cli --help`, which lists every command with its arguments and options (cause `most.agent.read.no-command`).
  • `reading the command line: most-cli has no command {command}` — exit 2. Fix: run `most-cli --help`, which lists every command with its arguments and options (cause `most.agent.read.command-unknown`).
  • `reading the arguments of {read}: {read} requires a {label}` — exit 2. Fix: give the {label} as `{usage}` (cause `most.agent.read.argument-missing`).
  • `reading the arguments of {read}: {read} takes no further word {word}` — exit 2. Fix: drop {word}, or give it as `{usage}` (cause `most.agent.read.argument-unexpected`).
  • `reading the arguments of {read}: the argument {name} must be a string, a number or a boolean` — exit 2. Fix: send {name} as the string the tool's input schema describes (`tools/list` lists it) (cause `most.agent.read.argument-wrong-type`).
  • `reading the arguments of {read}: {read} has no option --{option}` — exit 2. Fix: use one of its options, as `{usage}` shows (cause `most.agent.read.option-unknown`).
  • `reading the arguments of {read}: {read} takes --{option} once, and it was given again` — exit 2. Fix: give --{option} once (cause `most.agent.read.option-repeated`).
  • `reading the arguments of {read}: {read}: --{option} needs a value` — exit 2. Fix: give the value after --{option}, as `{usage}` shows (cause `most.agent.read.option-value-missing`).
  • `finding the Most service: MOST_BASE_URL is not set, and no origin is assumed in its place` — exit 1. Fix: set MOST_BASE_URL to the origin of the Most service, its scheme, host and port; `stado service directory connect most --consumer <consumer>` prints the one its placement answers at (cause `most.agent.service.origin-unset`).
  • `finding the Most service: MOST_BASE_URL is not UTF-8 text, so it names no URL` — exit 1. Fix: set MOST_BASE_URL to the origin of the Most service, its scheme, host and port; `stado service directory connect most --consumer <consumer>` prints the one its placement answers at (cause `most.agent.service.origin-not-text`).
  • `finding the Most service: MOST_BASE_URL is set but holds nothing besides whitespace and slashes` — exit 1. Fix: set MOST_BASE_URL to the origin of the Most service, its scheme, host and port; `stado service directory connect most --consumer <consumer>` prints the one its placement answers at (cause `most.agent.service.origin-empty`).
  • `finding the Most service: MOST_BASE_URL is not an absolute http or https URL` — exit 1. Fix: set MOST_BASE_URL to the origin of the Most service, its scheme, host and port; `stado service directory connect most --consumer <consumer>` prints the one its placement answers at (cause `most.agent.service.origin-not-url`).
  • `reading the bearer for {url}: MOST_AGENT_API_TOKEN is set but is not UTF-8 text, so it cannot travel as a bearer; nothing was sent without it` — exit 1. Fix: set MOST_AGENT_API_TOKEN to the bearer the Most service accepts, or unset it for a read that needs none, such as `most-cli health` (cause `most.agent.service.token-not-text`).
  • `reading the bearer for {url}: a mutation is sent only with the service bearer, and MOST_AGENT_API_TOKEN holds none; nothing was sent` — exit 1. Fix: set MOST_AGENT_API_TOKEN to the bearer the Most service accepts: the token in the file its MOST_API_TOKEN_FILE names, or the workload capability it is configured with (cause `most.agent.service.token-unset`).
  • `starting the HTTP client for {url}: the HTTP client could not load its TLS configuration, so no request could be made` — exit 1. Fix: repair the TLS or proxy setting the observed error names on this machine, then run the command again (cause `most.agent.service.client-unavailable`).
  • `connecting to the Most service at {url}: nothing accepted the connection at that origin` — exit 69, and sending it again can help. Fix: start the Most service MOST_BASE_URL names, or point MOST_BASE_URL at the origin it answers at; `most-cli health` shows when it answers (cause `most.agent.service.unreachable`).
  • `sending the request to {url}: the connection broke before the service answered` — exit 69, and sending it again can help. Fix: run the command again; when it keeps breaking, read the Most service's log for the request it was handling (cause `most.agent.service.unsent`).
  • `reading the answer from {url}: the service answered HTTP {status}, and its body broke off before it was read whole` — exit 69, and sending it again can help. Fix: run the command again; when it keeps breaking, read the Most service's log for the request it was answering (cause `most.agent.service.answer-unreadable`).
  • `{method} {url}: the service did not accept the bearer the request carried` — exit 1. Fix: set MOST_AGENT_API_TOKEN to the bearer the Most service accepts: the token in the file its MOST_API_TOKEN_FILE names, or the workload capability it is configured with (cause `most.agent.service.refused-auth`).
  • `{method} {url}: what the request names does not exist on the service` — exit 1. Fix: name one that exists: the list reads (`most-cli calls`, `most-cli accounts`, `most-cli webhook-outbox`) show what the service holds (cause `most.agent.service.refused-absent`).
  • `{method} {url}: the service refused the request for what it asked` — exit 1. Fix: change what the answer names and send it again; `most-cli --help` lists each command's arguments (cause `most.agent.service.refused-request`).
  • `{method} {url}: the service is not set up to do what the request asked` — exit 1. Fix: declare what the answer names on the Most service's host (its MOST_* settings and composition, see the operations page), then send it again (cause `most.agent.service.refused-unconfigured`).
  • `{method} {url}: the service or a dependency of it is limiting how often it is asked` — exit 69, and sending it again can help. Fix: send it again later (cause `most.agent.service.throttled`).
  • `{method} {url}: the service or a dependency of it did not answer in time` — exit 69, and sending it again can help. Fix: send it again; when it keeps timing out, read the Most service's log for the dependency it waited on (cause `most.agent.service.timed-out`).
  • `{method} {url}: a dependency of the service is down` — exit 69, and sending it again can help. Fix: send it again; when it stays down, read the Most service's log, which names the dependency and its cause (cause `most.agent.service.unavailable`).