# `annotate` options

The command takes `FILE`. The file is a saved question set. [Start with its value and exit code](/functions/annotate/).

| Option | What it does |
| --- | --- |
| `--input FILE` | Reads the evidence from a file instead of standard input. |
| `--plan` | Prints the plan and sends nothing. It needs no key. |
| `--lines`, `--jsonl`, `--csv`, `--tsv` | Says how a stream of records is framed. Pick at most one. |
| `--field POINTER` | Names the part of each record to judge, as a JSON Pointer. It may repeat. |
| `--jobs N` | How many requests run at once, from 1 to 32. The default is 4. It works on a stream of records, annotate on one document, and relate on one entity set. |
| `--model NAME` | The model the request carries. Name a version to pin a run. The default is jev-1.13.0. |
| `--url BASE` | The server's base address. It outranks THINKTHEN_BASE_URL. |
| `--timeout SECONDS` | How long one attempt may take. The default is 30. |
| `--max-retries N` | How many times a retried status is sent again. A transport failure is never sent again. The default is 3. |
| `--record DIR` | Calls the backend and saves each exchange in DIR. |
| `--replay DIR` | Answers from DIR alone, with no key and no network. |
| `--cache DIR` | Answers from DIR when it can and saves new exchanges there. |
| `--no-cache` | Turns off the answer cache for one run. |
| `--profile FILE` | Applies local backend limits and names the calibration profile in use. |

## More examples

*Each report keeps its id and lands in its own area: login, billing, and export. The two with steps say true, and the blue button blocks nothing.*

```
cat <<'EOF' |
{"id": "B-7", "body": "Steps: click Log in. Nobody gets in."}
{"id": "B-8", "body": "The Pay button on billing is too blue."}
{"id": "B-9", "body": "Steps: click Export. It is very slow."}
EOF
thinkthen annotate form.json \
  --batch 1 \
  --jsonl \
  --field /body \
  --jobs 8 |
jq .
```

*Output*

```
{
  "id": "B-7",
  "body": "Steps: click Log in. Nobody gets in.",
  "steps": true,
  "area": "login",
  "impact": 1.98
}
{
  "id": "B-8",
  "body": "The Pay button on billing is too blue.",
  "steps": false,
  "area": "billing",
  "impact": 0.09
}
{
  "id": "B-9",
  "body": "Steps: click Export. It is very slow.",
  "steps": true,
  "area": "export",
  "impact": 1.04
}
```

*exit 0*

[Every surface's settings](/install/settings/) · [annotate's edge cases](/reference/annotate/)

On GitHub: [github.com/botassembly/thinkthen](https://github.com/botassembly/thinkthen)
