---
title: "wendy device enroll"
description: "Enroll this device in Wendy Cloud"
---

## Syntax

```sh
wendy device enroll [flags]
```

## Examples

```sh
wendy device enroll --help
```

## Arguments

No positional arguments are declared in the command synopsis.

## 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 |
| --- | --- | --- | --- |
| `--acme-directory-url` | string | (empty) | ACME directory URL override for custom PKI deployments (OIDC accounts only) |
| `--broker-host` | string | (empty) | WendyCom broker TLS hostname (defaults to the Lite relay for the selected Cloud session) |
| `--broker-port` | uint32 | `5055` | WendyCom broker TLS port for Wendy Lite |
| `--ca-certs-url` | string | (empty) | HTTPS CA-discovery URL for Wendy Lite (defaults to the selected PKI instance's EST endpoint) |
| `--cloud-grpc` | string | (empty) | Cloud API endpoint of the saved sign-in to use |
| `--csr-url` | string | (empty) | CSR enrollment base URL override for Wendy Lite on self-hosted PKI |
| `--device` | string | (empty) | Target device `host` (hostname, IP, or host:port); '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 |
| `--device-roots` | string | (empty) | Provision this device identity PEM CA bundle over USB (also requires --https-roots) |
| `--https-roots` | string | (empty) | Provision this HTTPS/broker PEM CA bundle over USB |
| `--json` | bool | `false` | Output in JSON format |
| `--name` | string | (empty) | Device name |
| `--org` | int32 | `0` | Organization ID override for legacy enrollment; OIDC enrollment uses the session's tenant |
| `--time-url` | string | (empty) | RFC 3161 signed-time endpoint for Wendy Lite (defaults to Sigstore) |
| `--tsa-roots` | string | (empty) | Signed-time PEM CA bundle (Sigstore's TSA root is bundled for the default endpoint) |

## Output

Output depends on the operation and selected target. [Command behavior and detailed examples](../../../../advanced/clients/wendy-cli/commands/device/enroll/).

## 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 device](../../../../reference/cli/device/)
- [CLI conventions and configuration](../../../../reference/)

## Details

Add the selected device to your organization using your saved sign-in. Run 'wendy cloud login' first. For Wendy Lite, connect over USB and keep it connected while the board reboots and completes enrollment.

[Command behavior and detailed examples](../../../../advanced/clients/wendy-cli/commands/device/enroll/)
