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

# Postprocessors Command

> Manage response postprocessor primitives — view, deploy, activate, and delete versions

## Overview

`lua postprocessors` manages **postprocessor** primitives — code that runs **after** your agent produces a response, before it's sent to the user. Use postprocessors for adding disclaimers, branding, translation, format conversion, or compliance redaction.

```bash theme={null}
lua postprocessors                                # Interactive management
lua postprocessors view                           # List all postprocessors
lua postprocessors deploy --postprocessor-name myPost --postprocessor-version 1.0.3
```

<Note>
  For defining postprocessors in code, see the [Postprocessor concept](/overview/postprocessors) and the [Postprocessor API](/api/postprocessor).
</Note>

## Subcommands

| Action       | What it does                                             |
| ------------ | -------------------------------------------------------- |
| `view`       | List all postprocessors defined on the agent.            |
| `versions`   | List every version of a specific postprocessor.          |
| `deploy`     | Promote a version to active.                             |
| `activate`   | Re-enable a deactivated postprocessor.                   |
| `deactivate` | Pause execution — responses bypass this postprocessor.   |
| `delete`     | Permanently remove a postprocessor and all its versions. |

## Options

| Option                          | Description                                                    |
| ------------------------------- | -------------------------------------------------------------- |
| `--postprocessor-name <name>`   | Postprocessor name. Required for most non-interactive actions. |
| `--postprocessor-version <ver>` | Version for `deploy`. Pass `latest` for the newest.            |

<Note>
  The shorthand `pp` resolves to `postprocessor` in most argument positions — e.g. `lua pp view`, `lua logs --type pp`.
</Note>

## Examples

```bash theme={null}
# Interactive
lua postprocessors

# List everything
lua postprocessors view

# List versions for a postprocessor
lua postprocessors versions --postprocessor-name addDisclaimer

# Promote a specific version
lua postprocessors deploy --postprocessor-name addDisclaimer --postprocessor-version 1.0.3
lua postprocessors deploy --postprocessor-name addDisclaimer --postprocessor-version latest

# Pause and resume
lua postprocessors deactivate --postprocessor-name addDisclaimer
lua postprocessors activate   --postprocessor-name addDisclaimer

# Delete
lua postprocessors delete --postprocessor-name oldPost
```

## Priority

Postprocessors have a `priority` field that controls execution order. Lower numbers run first. The `priority` you declare in code is now correctly preserved on push — re-push if you set priority in older releases and want it applied.

## Common Workflow

```bash theme={null}
# Edit src/postprocessors/add-disclaimer.ts, then:
lua push postprocessor                                              # Build + upload
lua postprocessors versions --postprocessor-name addDisclaimer      # Confirm
lua postprocessors deploy --postprocessor-name addDisclaimer --postprocessor-version latest
lua logs --type postprocessor --name addDisclaimer --limit 20       # Verify execution
```

## Related

* [Postprocessor Concept](/overview/postprocessors)
* [Postprocessor API](/api/postprocessor)
* [Preprocessors Command](/cli/preprocessors-command)
* [Logs Command](/cli/logs-command)
