---
title: "wendy cloud device ros2"
description: "Inspect and debug live ROS 2 systems on the device"
---

## Syntax

```sh
wendy cloud device ros2 [flags]
```

## Examples

```sh
wendy cloud device ros2 --help
```

## Arguments

Choose a subcommand from See also.

## Flags

Flags below include inherited options. Types and defaults come from the CLI source. An empty default means no value is configured.

| Flag | Type | Default | Description |
| --- | --- | --- | --- |
| `--broker-url` | string | (empty) | Tunnel broker host:port (default: cloud :443 endpoint, otherwise &lt;cloud-host&gt;:50052) |
| `--cloud-grpc` | string | (empty) | Cloud gRPC endpoint (optional when a default session is set via 'wendy auth use') |
| `--device` | string | (empty) | Target device hostname; `wendy run` accepts a comma-separated list to deploy one build to several devices (needs a remote build host and --detach). Defaults to $WENDY_DEVICE, then the saved default device |
| `--json` | bool | `false` | Output in JSON format |

## Output

Output depends on the operation and selected target. Use the command help for additional guidance..

## JSON output

The global `--json` option requests machine-readable output. The CLI also selects JSON mode when no interactive terminal is attached. Support and payloads are command-specific; this flag does not guarantee a single JSON document for commands that stream logs or invoke build tools. Consult Details before parsing command output.

## Exit codes

The CLI entry point returns `0` on success and for its user-cancelled or default-cleared results. Other returned errors exit with `1` and print a diagnostic to stderr. Some operations may terminate through subprocess or signal handling; do not infer application health from the CLI exit code alone.

## Common errors

Check argument values and flag combinations against the synopsis above. For discovery, build, port, and readiness failures, see [deployment troubleshooting](../../../../../errors/). Command-specific constraints are in Details.

## See also

- [wendy cloud device](../../../../../reference/cli/cloud/device/)
- [wendy cloud device ros2 action](../../../../../reference/cli/cloud/device/ros2/action/)
- [wendy cloud device ros2 bag](../../../../../reference/cli/cloud/device/ros2/bag/)
- [wendy cloud device ros2 call](../../../../../reference/cli/cloud/device/ros2/call/)
- [wendy cloud device ros2 component](../../../../../reference/cli/cloud/device/ros2/component/)
- [wendy cloud device ros2 doctor](../../../../../reference/cli/cloud/device/ros2/doctor/)
- [wendy cloud device ros2 echo](../../../../../reference/cli/cloud/device/ros2/echo/)
- [wendy cloud device ros2 exec](../../../../../reference/cli/cloud/device/ros2/exec/)
- [wendy cloud device ros2 graph](../../../../../reference/cli/cloud/device/ros2/graph/)
- [wendy cloud device ros2 hz](../../../../../reference/cli/cloud/device/ros2/hz/)
- [wendy cloud device ros2 lidar](../../../../../reference/cli/cloud/device/ros2/lidar/)
- [wendy cloud device ros2 lifecycle](../../../../../reference/cli/cloud/device/ros2/lifecycle/)
- [wendy cloud device ros2 nodes](../../../../../reference/cli/cloud/device/ros2/nodes/)
- [wendy cloud device ros2 param](../../../../../reference/cli/cloud/device/ros2/param/)
- [wendy cloud device ros2 params](../../../../../reference/cli/cloud/device/ros2/params/)
- [wendy cloud device ros2 services](../../../../../reference/cli/cloud/device/ros2/services/)
- [wendy cloud device ros2 topic](../../../../../reference/cli/cloud/device/ros2/topic/)
- [wendy cloud device ros2 topics](../../../../../reference/cli/cloud/device/ros2/topics/)
- [CLI conventions and configuration](../../../../../reference/)

## Details

Inspect and debug live ROS 2 systems on a device running Wendy Agent.

The agent runs ros2 commands in CLI sidecars for running apps configured with
"frameworks.ros2". When no ROS 2 app is running, it automatically uses the
device's system DDS graph, including Unitree robots, on domain 0. Use --domain
to select another domain. No ROS 2 app deployment or SSH is required.

System inspection uses a cached Humble/Fast DDS CLI image with pinned unitree_go
and unitree_api types, downloaded on first use. Other custom message types still
require their ROS 2 packages. Use lidar sample for bounded geometry observations.

To add ROS 2 to a project: wendy project frameworks add ros2
For the full "frameworks.ros2" config shape (domainId, rmw, distro,
discoveryScope) and how it's used: wendy docs ros2

Use the command help for additional guidance.
