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

# Commands

> Talk to Otto from pull request comments.

Write commands in a pull request comment. A command must start a line (leading spaces are fine) and is case-insensitive.

| Command | What it does |
| - | - |
| `/otto review` | Review the PR's latest commit now. |
| `/otto re-review` | Same as `/otto review`. |
| `/otto explain <question>` | Explain what code does or why it was written that way, without proposing changes unless you ask. |
| `/otto <anything else>` | Ask Otto a question or give it an instruction; it replies in the conversation. |

You can also reply directly to any of Otto's inline comments. Otto answers in the thread.

## Examples

```text theme={null}
/otto re-review
```

```text theme={null}
/otto explain why does the retry loop back off exponentially here?
```

```text theme={null}
/otto is this migration safe to run while the old release is still serving traffic?
```

## Review commands and otto.yml

`/otto review` and `/otto re-review` always run a full review, even if the repository's `otto.yml` sets `enabled: false` or a [skip rule](/configuration/skipping-reviews) matches the PR. The rest of `otto.yml` still applies: depth, instructions, ignored files, and the approval policy.

## Replying to findings

When you reply to a finding, say what you did or why you disagree:

* "Fixed in the latest commit." Otto checks the current code and resolves the finding if it's fixed.
* "This is intentional because the caller already validates the input." Otto weighs the evidence and stops raising the point on this PR if it agrees.
* "Why is this a problem?" Otto explains the finding in more detail.

If your replies resolve every blocking finding, Otto approves the PR.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.