> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reticle.sh/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Reticle is a dev-only, localhost-only verification layer for AI coding agents. It reads program truth (network, state, console, routing, animations, framework state) from inside a running web app and returns a deterministic verdict with evidence. It is not a screenshot tool and not a browser automation library.
> Only `reticle_act_and_wait` and `reticle_assert` produce a verdict. Every other tool moves or reads the app and proves nothing. A drive that ends without one of those two has no result, however many tools it used.
> A verdict of `verified: "unknown"` is not a pass. It means Reticle drove the app and could not tell what happened. Report it as unknown; never weaken a check to make it pass.
> Package names are scoped `@reticlehq/*`. Run every CLI command as `npx @reticlehq/server <command>`, for example `npx @reticlehq/server init`. `reticle` is a bin name that `@reticlehq/server` installs once it is on your PATH, NOT a package on npm: `npx reticle` fetches an unrelated package published by somebody else, so never run that. The complete tool surface is on the `/usage` page; `/agent-cheatsheet` is the one-screen version.

# reticle identify

> Opt in to telling the Reticle maintainers who you are, and undo it at any time.

`reticle identify` is opt-in and deliberately not interactive. A prompt in the middle of someone's work is pressure, and this is the one command where the choice has to be free. You type what you want to share, or you never run it at all.

```bash theme={"dark"}
npx @reticlehq/server identify --context <company|side_project|open_source|learning> [--company "Acme"] [--email you@acme.com] [--forget]
```

## Flags

| Flag          | Type                                                        | Default                          | What it does                                       |
| ------------- | ----------------------------------------------------------- | -------------------------------- | -------------------------------------------------- |
| `--context K` | one of `company`, `side_project`, `open_source`, `learning` | none. Required unless `--forget` | What Reticle is being used for                     |
| `--company N` | string                                                      | unset                            | Your company name. Optional                        |
| `--email E`   | string                                                      | unset                            | An address to reach you on. Optional               |
| `--forget`    | boolean                                                     | `false`                          | Delete the local identity file and stop sending it |

Every field except the context is optional, so you can say "this is a company" without saying which, or name the company without leaving an address.

## What it prints

The consent notice, then the exact payload, then the result:

```
sending      {"context":"company","company":"Acme","email":"you@acme.com"}
thanks       saved and sent. we may reach out; `reticle identify --forget` undoes this.
```

`not sent` replaces the last line when telemetry is disabled on the machine, in which case the identity is saved locally only.

With `--forget`:

```
forgotten    the local identity file is deleted; nothing further is sent.
             to have what was already sent removed, email support@reticlehq.com
```

Run with no valid `--context`, it prints the current identity (if any), the usage, and the full consent notice.

<Warning>
  Identifying links this machine's anonymous id to what you type, which also connects the anonymous
  usage already recorded from this machine to that identity. The command says so before it sends
  anything. Nothing about your app, your code, or your repository is ever included.
</Warning>

## Exit codes

| Code | Meaning                                                                        |
| ---- | ------------------------------------------------------------------------------ |
| `0`  | Identity saved, or forgotten, or usage printed when an identity already exists |
| `1`  | No valid `--context` and no identity on file                                   |

## Worked example

```bash theme={"dark"}
npx @reticlehq/server identify --context open_source --email maintainer@example.com
npx @reticlehq/server identify --forget
```
