---
title: "wendy project edit"
description: "Edit a capability or integration"
---

## Syntax

```sh
wendy project edit [name] [flags]
```

## Examples

```sh
  wendy project edit
  wendy project edit ros2 --domain-id 42
  wendy project edit app --version 0.2.0
  wendy project edit --raw
```

## Arguments

Argument notation from the CLI: `[name]`. Angle brackets mark required values; square brackets mark optional values. See Details for command-specific validation.

## 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 |
| --- | --- | --- | --- |
| `--allowlist` | string | (empty) | Allowed cameras. Comma-separated camera names or paths; empty for all |
| `--app-id` | string | (empty) | App ID. Letters, digits, dots, underscores, or hyphens |
| `--bus` | string | (empty) | I2C bus. Bare device name, for example i2c-1 |
| `--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 |
| `--distro` | string | (empty) | ROS distribution. For example humble or jazzy |
| `--domain-id` | string | (empty) | Domain ID. 0 to 232; empty derives a stable ID from appId |
| `--dry-run` | bool | `false` | Validate and preview the changes without saving |
| `--entry` | int | `-1` | Entitlement array index to edit or remove when a type appears more than once |
| `--file` | string | `wendy.json` | Manifest file or project directory |
| `--json` | bool | `false` | Output in JSON format |
| `--language` | string | (empty) | Language. For example python, swift, rust, or cpp |
| `--mode` | string | (empty) | Network mode. bridge: outbound internet; host: host network; mesh: mesh peers; none: no network; host-admin: host network administration |
| `--name` | string | (empty) | Storage namespace. Apps with this namespace share data |
| `--path` | string | (empty) | Mount path. Absolute path inside the container |
| `--pins` | string | (empty) | GPIO pins. Comma-separated pins, or empty for all GPIO chips |
| `--platform` | string | (empty) | Platform. linux, darwin, or wendy-lite |
| `--port` | string | (empty) | Port. A port between 1 and 65535 |
| `--ports` | string | (empty) | Mesh port mappings. JSON array, for example [&#123;"host":8080,"container":8080&#125;]; empty for none |
| `--raw` | bool | `false` | Edit a temporary copy in $VISUAL or $EDITOR, then validate and review it |
| `--rmw` | string | (empty) | Middleware. cyclonedds, fastrtps, connextdds, or gurumdds |
| `--scope` | string | (empty) | Scope. Who sees the app's topics: app (only this app), device (every app on the device), peripherals (the device and attached hardware), or network |
| `--serial-device` | string | (empty) | Serial device. Bare USB tty name, for example ttyACM0 or ttyUSB0 |
| `--service` | string | (empty) | Edit settings for this service instead of app defaults |
| `--service-cidr` | string | (empty) | Mesh service CIDR. Required only for mesh mode, for example 10.42.0.0/16 |
| `--streams` | string | (empty) | Recording streams. JSON object of recording streams; use edit --raw for larger configurations |
| `--version` | string | (empty) | Version. For example 0.1.0 |

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

## Details

Edit a capability or integration. Omit the name to open a searchable picker.
Use `wendy project edit &lt;name&gt; --help` for that item's fields.

Names:
  network          Network access
  bluetooth        Bluetooth access
  avahi            Private mDNS (Avahi)
  nan              Wi-Fi Aware control
  video            Video access (deprecated; use camera)
  gpu              GPU access
  npu              NPU access
  persist          Persistent storage
  audio            Microphone and speakers
  camera           Camera access
  usb              USB access
  i2c              I2C bus
  gpio             GPIO pins
  spi              SPI bus
  input            Input devices
  serial           USB serial device
  mcp              MCP server
  display          Display access
  episode-write    Episode recording
  notifications    Notifications
  admin            Agent administration
  build            Container builds
  http             Web interface
  ros2             ROS 2
  app              App identity, language, platform, and version

Use the command help for additional guidance.
