<!-- enhance-docs page=reference/cli/canvas/find -->
<!-- enhance-docs release-sha256=8a804cfc9a6fc6b942b8daf6a82266ad6e308291ae4351abee3346bc696d1258 -->

# enhance-dev canvas find

```text
enhance-dev canvas find [options]
```

## Arguments

This command takes no positional arguments.

## Options

| Option | Required | Default | Meaning |
| --- | --- | --- | --- |
| `--input <json-or-@path>` | No | `{}` | Search title, collection, limit and continuation cursor. |

## Input

This command presents the capability `canvas.find`. It has read effect and none idempotency.

<details class="reference-schema">
<summary>Show complete input JSON Schema</summary>

```json
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"collection":{"default":"everything","anyOf":[{"type":"string","const":"own"},{"type":"string","const":"everything"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"title":{"type":"string","minLength":1},"includeDestinations":{"default":true,"type":"boolean"},"limit":{"default":25,"type":"integer","exclusiveMinimum":0,"maximum":50},"cursor":{"type":"string","minLength":1,"maxLength":16384}},"additionalProperties":false}
```
</details>


## Output

This command writes JSON records to standard output. Returns a typed canvas.find result from the Enhance API without transport-specific prose.

<details class="reference-schema">
<summary>Show complete output JSON Schema</summary>

```json
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"maxItems":50,"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"canvas"},"canvasRef":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string","minLength":1},"organisationId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"accessState":{"type":"string","enum":["invite-only","link-view","link-comment","link-edit"]},"viewerCan":{"type":"object","properties":{"read":{"type":"boolean"},"comment":{"type":"string","enum":["yes","sign-in","no"]},"edit":{"default":"no","type":"string","enum":["yes","sign-in","no"]},"grants":{"default":[],"type":"array","items":{"type":"object","properties":{"source":{"type":"string","enum":["direct","team","link"]},"accessLevel":{"type":"string","enum":["owner","can-edit","can-comment","can-view"]}},"required":["source","accessLevel"],"additionalProperties":false}},"grantableAccessLevels":{"default":[],"type":"array","items":{"type":"string","enum":["can-edit","can-comment","can-view"]}},"share":{"type":"boolean"},"manage":{"type":"boolean"},"readHistory":{"default":false,"type":"boolean"}},"required":["read","comment","edit","grants","grantableAccessLevels","share","manage","readHistory"],"additionalProperties":false},"openPath":{"type":"string"}},"required":["kind","canvasRef","title","organisationId","accessState","viewerCan","openPath"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"destination"},"destination":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"personal"}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"team"},"organisationId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["kind","organisationId"],"additionalProperties":false}]},"name":{"type":"string"}},"required":["kind","destination","name"],"additionalProperties":false}]}},"returnedCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalAvailable":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"complete":{"type":"boolean"},"sourceTruncated":{"type":"object","properties":{"canvases":{"type":"boolean"},"destinations":{"type":"boolean"}},"required":["canvases","destinations"],"additionalProperties":false},"warnings":{"type":"array","items":{"type":"string"}}},"required":["items","returnedCount","totalAvailable","nextCursor","complete","sourceTruncated","warnings"],"additionalProperties":false}
```
</details>


## Examples

```bash
enhance-dev canvas find
```

<details class="reference-schema">
<summary>Show example input</summary>

```json
{
 "collection": "everything",
 "includeDestinations": true,
 "limit": 25
}
```
</details>

<details class="reference-schema">
<summary>Show example output</summary>

```json
{
 "items": [
  {
   "kind": "destination",
   "destination": {
    "kind": "personal"
   },
   "name": "Personal"
  }
 ],
 "returnedCount": 1,
 "totalAvailable": 1,
 "nextCursor": null,
 "complete": true,
 "sourceTruncated": {
  "canvases": false,
  "destinations": false
 },
 "warnings": []
}
```
</details>

## Exit behaviour

| Exit code | Meaning |
| --- | --- |
| `0` | The command succeeded. |
| `1` | The command failed for another reason (`INTERNAL`). A write may have an unknown outcome. |
| `2` | The command line was malformed. Nothing ran. |
| `3` | The API refused the input (`BAD_REQUEST`). |
| `4` | The credential is missing or expired (`UNAUTHORIZED`). |
| `5` | The API refused the request (`FORBIDDEN`, `NOT_FOUND`, `CONFLICT`, `RATE_LIMITED`). |
| `6` | A batch finished only in part. Retry with the same `--client-token`. |

## Versions

Minimum tested versions: Enhance CLI and MCP runtime 0.1.40, plugin 1.0.38, Node.js 24. No older floor is published.
