> For the complete documentation index, see [llms.txt](https://osintverse.gitbook.io/otinstaller/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://osintverse.gitbook.io/otinstaller/guides/commands.md).

# Command reference

| Command                                           | What it does                                     |
| ------------------------------------------------- | ------------------------------------------------ |
| `otinstaller init`                                | Create config and directories, accept the notice |
| `otinstaller list` / `--installed`                | List tools                                       |
| `otinstaller search <query>`                      | Search tools                                     |
| `otinstaller info <tool>` or `otinstaller <tool>` | Show tool details                                |
| `otinstaller install <tool>...` / `--all`         | Install tools                                    |
| `otinstaller run <tool>... -- <args>`             | Run tools                                        |
| `otinstaller run --all u:...`                     | Run all matching tools                           |
| `otinstaller run --live`                          | Live status table for parallel runs              |
| `otinstaller run --case <name>`                   | Group runs under a named case                    |
| `otinstaller auto <target>`                       | Detect the target type and run matching tools    |
| `otinstaller playbook [name] [target]` / `--list` | Run or list playbooks                            |
| `otinstaller example <tool>`                      | Show example output                              |
| `otinstaller extract <target>`                    | Extract indicators from saved results            |
| `otinstaller diff <tool> <target>`                | Compare the two most recent runs                 |
| `otinstaller update` / `--all` / `--check-only`   | Update tools                                     |
| `otinstaller check-updates`                       | Check for updates (read-only)                    |
| `otinstaller remove <tool>...` / `--all`          | Remove tools                                     |
| `otinstaller keys check`                          | Check API keys                                   |
| `otinstaller resume`                              | Handle interrupted jobs                          |
| `otinstaller doctor`                              | Check the machine                                |
| `otinstaller about`                               | Show the banner, credits and contact             |

### Scripts and AI agents

Every command supports `--json`. Commands never prompt when `--yes` or `-y` is given, or when stdin is not a terminal. otinstaller's own errors exit with 1 (error), 2 (invalid input) or 130 (interrupted). For a single-tool run, the tool's own exit code is returned and also recorded in the `.meta.json` file.

The startup banner is only shown in an interactive terminal. It is never printed with `--json` or when output is piped, and `OTINSTALLER_NO_BANNER=1` turns it off completely.

For AI agents, see [`llms.txt`](https://github.com/OSINTVerseHQ/OTinstaller/blob/main/llms.txt).

*This page mirrors the* [*OTinstaller README*](https://github.com/OSINTVerseHQ/OTinstaller)*.*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://osintverse.gitbook.io/otinstaller/guides/commands.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
