---
title: Options
description: The options every ThinkThen function takes, each with the environment variable that sets it, from choosing the service and model to reading CSV files and printing JSON.
goal: Someone writing a command or a script finds the option they need, what it does, and the environment variable that sets it.
reader: A ThinkThen user or agent setting an option on the command line or in a script's environment
kind: reference
verified: 2026-11-03
head:
  - tag: title
    content: "Options: every shared ThinkThen option and its variable"
---

# Options

Every function takes these options. Most can also come from an environment variable, and an option on the command line wins over its variable.

Each function's own options, such as `--threshold` for decide or `--choice` for choose, are on that function's page. `thinkthen FUNCTION --help` lists them all.

## Every shared option

| Option | What it does | Variable |
| --- | --- | --- |
| `[FILE]...` | Input files; default: standard input | none |
| `--backend <NAME>` | Backend name Default: systemone. | THINKTHEN_BACKEND |
| `--batch <BATCH>` | Texts per request | THINKTHEN_BATCH |
| `--color <COLOR>` | Diagnostic color One of: auto, always, never. | THINKTHEN_COLOR, NO_COLOR |
| `--field <FIELD>` | Field pointer; repeat for an object keyed by final names | THINKTHEN_FIELD |
| `--format <FORMAT>` | Output format One of: text, json. Default: text. | THINKTHEN_FORMAT |
| `--from <FROM>` | Input framing One of: text, lines, jsonl, csv, tsv, xlsx. Default: inferred from FILE. | THINKTHEN_FROM |
| `--json [=<JSON>]` | Write typed JSON Lines | THINKTHEN_JSON |
| `--model <MODEL>` | Model name | THINKTHEN_MODEL |
| `--name <NAME>` | Optional execution identity | THINKTHEN_NAME |
| `-q, --quiet [=<QUIET>]` | Print no answers, notices or progress | THINKTHEN_QUIET |
| `--url <URL>` | Override the chosen backend address | none |
| `-v, --verbose [=<VERBOSE>]` | Print a summary | THINKTHEN_VERBOSE |
| `--text <TEXT>` | Judge this text instead of reading input | none |
| `-h, --help` | Print help | none |
| `--column <COLUMN>` | Field column; repeat; replaces a saved pointer | none |
| `--details [=<DETAILS>]` | Add status, probability, error, detail and source columns | none |
| `--in-place [=<IN-PLACE>]` | Replace source with backup | none |
| `--into <INTO>` | Answer field for JSON Lines; column for tables | none |
| `--output <OUTPUT>` | Destination path | none |
| `--sheet <SHEET>` | Worksheet | none |

[Configuration](/configuration/) covers the services, the models, your key and the address variables.

## On-or-off options

`--in-place`, `--details`, `--json`, `--quiet` and `--verbose` are off unless you give them. On the command line, the option alone turns it on, and `--json=false` turns it off. `--json`, `--quiet` and `--verbose` can also come from a variable, which takes `true` or `false`, such as `THINKTHEN_JSON=true`. `--in-place` and `--details` have no variable.

## How ThinkThen picks the input format

Without `--from`, a file ending in `.jsonl`, `.csv`, `.tsv` or `.xlsx` is read as that format. Anything else, standard input included, is read as one text for most functions, and as one text per line for filter, rank and annotate. [File types](/command-line/file-types/) shows each format.

## Next

[JSON output](/reference/json-output/) lists the fields `--json` prints.
