wendy device info
Shows organization, agent version, OS, architecture, GPU, NPU, and hardware info for the target device.
wendy device info
Shows organization, agent version, OS, architecture, GPU, NPU, and hardware info for the target device.
Usage
wendy device info [flags]Description
wendy device info queries the connected device's agent and prints its version, operating system, CPU architecture, CPU core count, total RAM, GPU and NPU presence, and other hardware details. Use this command anywhere device metadata is needed — in scripts, CI pipelines, or interactively.
The output format follows the standard --json / human-readable convention shared across all device commands.
Organization output
Organization: shows the device's enrolled organization name and ID, or just the ID when the name cannot be resolved. The name lookup uses credentials for the device's cloud and organization, with a cached name as an offline fallback. The ID comes from the device's enrollment, regardless of your default organization.
With --json, organization contains a string id and an optional name:
{"organization": {"id": "42", "name": "Robotics"}}The ID can be a tenant UUID or a legacy numeric ID encoded as a string. An unenrolled device shows Organization: Not enrolled and "organization": null. If enrollment information is unavailable, including on unsupported agents or Bluetooth connections, the field is omitted.
CPU and memory output
Two headline hardware specs are included when the agent reports them. Both are omitted from the human-readable output and the JSON map when the agent cannot read them (older agents or non-Linux hosts), so treat them as optional.
| Field (JSON) | Human-readable label | Description |
|---|---|---|
cpuCount | CPU Cores: | Number of online logical CPU cores. |
memTotalBytes | Memory: | Total physical RAM in bytes; human-readable output shows a formatted size (e.g. 131.9 GB). |
For live CPU and memory utilization, use wendy device top.
Power mode output
On NVIDIA Jetson devices the agent reports the current power mode (nvpmodel), shown as Power Mode: MODE_30W (2). With --json, powerMode holds the numeric id and the name:
{"powerMode": {"id": 2, "name": "MODE_30W"}}The field is omitted on devices that are not a Jetson, when the mode cannot be read, and on agents that predate it. To see every available mode or switch, use wendy device power-mode.
Storage output fields
When the agent can identify the filesystem that holds /var/lib/containerd, it is reported alongside the mounted partitions. The field is omitted from the JSON map when inspection fails or the agent predates it.
| Field (JSON) | Human-readable label | Description |
|---|---|---|
containerStorage | (container storage) suffix on the matching partition row | The mounted filesystem backing /var/lib/containerd: mountpoint, filesystem, device, usedBytes, and totalBytes. Image pulls and container layers consume this filesystem, so its usage feeds the disk-usage warning. |
GPU output fields
On GPU-capable devices, the following GPU fields are included. Each is omitted from both the human-readable output and the JSON map when the agent does not report it (e.g. non-GPU devices or older agents), so consumers should treat every field as optional.
| Field (JSON) | Human-readable label | Description |
|---|---|---|
gpuVendor | GPU: | GPU vendor (e.g. nvidia, qualcomm); shown as unknown in human-readable output when a GPU is present but the vendor is unreported. |
jetpackVersion | JetPack: | JetPack/L4T version string (Jetson only). |
cudaVersion | CUDA: | CUDA toolkit version (e.g. 12.6). |
gpuArch | GPU Arch: | GPU architecture identifier. Format is vendor-specific (e.g. sm_87 for NVIDIA, a623 for a Qualcomm Adreno). On a Jetson, which ships no nvidia-smi, it comes from the SoC in the device tree: sm_110 on Thor, sm_87 on Orin, sm_72 on Xavier. |
gpuCapabilities[] | GPU Compute: | One entry per detected GPU: vendor, path (the device node that identified it, e.g. /dev/dri/card0), and computeBackends (cuda, rocm, or metal). A single GPU prints its backends; several print each one with its vendor and path. The line is omitted when no GPU reports a backend, and no entries at all means an older agent. An on-SoC neural accelerator is not a GPU backend — see npuBackends. |
NPU output fields
On devices with an on-SoC neural accelerator the agent can reach, the following fields are included.
| Field (JSON) | Human-readable label | Description |
|---|---|---|
hasNpu | — | Whether the device has a reachable NPU. Always present; false elsewhere. |
npuVendor | NPU: | NPU vendor (e.g. qualcomm); shown as unknown in human-readable output when an NPU is present but the vendor is unreported. |
npuBackends[] | NPU: | Runtimes an app can use on the NPU (e.g. qnn on a Qualcomm Hexagon). Rendered in parentheses after the vendor, as qualcomm (qnn). Empty when the vendor's runtime is unrecognized, and on agents predating this field. |
Detection requires a non-secure FastRPC node: the signed-PD nodes are root-only, so a board exposing only those reports no NPU. The vendor comes from the DSP's device-tree compatible, the only vendor signal an on-SoC accelerator has.
FastRPC is the DSP's transport, so it is evidence for the NPU alone. A Dragonwing reports NPU: qualcomm (qnn) and no GPU compute backend for the Adreno beside it.
wendy device info reports static GPU metadata (vendor, architecture, toolkit versions). For live GPU utilization, memory, temperature, and power draw, use wendy device top.
Network output
The output includes the device's network interfaces and their routable IP addresses under a Network: block (human-readable) or a networkInterfaces array (JSON). This is the address to use to reach an app running on the device — the .local hostname does not always resolve on every network.
Loopback, down, and container/virtual bridge interfaces are omitted, as are link-local addresses. The section is absent entirely when the agent cannot enumerate interfaces (e.g. older agents).
| Field (JSON) | Human-readable label | Description |
|---|---|---|
networkInterfaces[].name | (row label) | Interface name (e.g. eth0, wlan0). |
networkInterfaces[].ipAddresses | (row value) | Routable IPv4/IPv6 addresses assigned to the interface. |
OS Update output
When an update outcome has been recorded, wendy device info prints a compact OS Update: block:
OS Update:
Last update: committed (0.16.0 → 0.17.0)This reads the saved outcome. For live A/B slot state, pending updates, and engine diagnostics, run wendy os update-status.
The block is omitted when no update record exists, the agent does not support update status, or the optional status request fails or times out.
When the last update outcome is not committed, a hint is printed:
Details: wendy os update-statusThe outcome is colour-coded: committed is green, rolled back is amber, and failure outcomes are red.
JSON: osUpdate field
When a recorded update outcome is available, --json includes an osUpdate object. It is omitted when no outcome is available.
{
"osUpdate": {
"lastUpdate": {
"outcome": "committed",
"createdAtUnix": 1750000000,
"oldOsVersion": "0.16.0",
"newOsVersion": "0.17.0"
}
}
}| Field | Description |
|---|---|
osUpdate.lastUpdate.outcome | One of committed, rolled back, rollback failed, commit failed, unknown. |
osUpdate.lastUpdate.createdAtUnix | Unix timestamp of the recorded update outcome. |
osUpdate.lastUpdate.oldOsVersion / newOsVersion | OS versions before and after the update (omitted when not recorded). |
osUpdate.lastUpdate.note | Failure reason from the updater, if any (omitted when empty). |
For the live engine snapshot, use wendy os update-status --json and read its engineStatus field. Basic device info does not request this snapshot.
Flags
| Flag | Default | Description |
|---|---|---|
--check-updates | false | Check whether a newer agent release is available and include the result in the output. |
--prerelease | false | Include pre-release (nightly) versions when checking for updates. |
Examples
Print device info in human-readable form:
wendy device info --device my-device.localPrint device info as JSON (useful in scripts):
wendy device info --device my-device.local --jsonExtract specific fields with jq:
wendy device info --device my-device.local --json | jq '{osVersion, agentVersion: .version, deviceType, cpuCount, memTotalBytes}'Deprecated alias
wendy device version is a deprecated alias for this command. It remains functional for backward compatibility but is hidden from help output. When invoked in non-JSON mode it prints a deprecation warning to stderr:
Warning: 'wendy device version' is deprecated; use 'wendy device info' instead.No warning is emitted when --json is passed, so existing machine-readable scripts that use wendy device version --json continue to work without noise on stderr.
Migrate any usage of wendy device version to wendy device info.
Related
wendy os update-status— full OS update record including service-level healthcheck details and the live engine snapshotwendy os update— apply a WendyOS OTA update