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

# Automated mode

> Use `pool exec` to send a one-shot prompt and exit.

Run `pool exec` to send a single prompt and exit when the task is complete. Use this for scripts, CI pipelines, and one-off tasks where you don't need a back-and-forth.

For interactive work, use [Interactive mode](/cli/interactive-mode) instead.

<Info>
  This documentation describes Poolside Agent CLI v1.0.6. Check your version with `pool --version`. To update, exit any active session and run `pool update` from your terminal. See [pool CLI releases on GitHub](https://github.com/poolsideai/pool/releases) for release history.
</Info>

<Tip>
  If you previously used non-interactive flags on `pool`, such as `pool -p`, use `pool exec` instead.
</Tip>

## Basic usage

If you use `pool exec` in a non-interactive environment, set `POOLSIDE_API_KEY` before the command:

```bash theme={null}
POOLSIDE_API_KEY=<api-key> pool exec -p "What does this codebase do?"
```

For other CLI authentication variables, see [CI and automation](/cli/install#ci-and-automation).

Pass a prompt inline:

```bash theme={null}
pool exec -p "What does this codebase do?"
```

Read the prompt from a file:

```bash theme={null}
pool exec -f prompt.txt
```

Pipe the prompt from standard input:

```bash theme={null}
pool exec < prompt.txt
```

Use `-` to read from standard input when combining with other flags:

```bash theme={null}
echo "Summarize this file" | pool exec -p -
```

## Pass MCP server input variables

If an MCP server needs input from environment variables, start `pool exec` with those variables set:

```bash theme={null}
KEY=VALUE pool exec -p "test"
```

## Run in a specific directory

By default, `pool exec` uses your current directory. Use `-d` to point it somewhere else:

```bash theme={null}
pool exec -p "Review this project" -d <project-path>
```

## Continue from a previous run

Resume from the last run:

```bash theme={null}
pool exec --continue -p "Now add tests for what you just wrote"
```

Resume a specific run by ID:

```bash theme={null}
pool exec --continue=<run-id> -p "Now add tests for what you just wrote"
```

To find recent run IDs, use `pool history logs`.

## Output format

By default, `pool exec` prints Markdown. Use `-o json` for newline-delimited JSON:

```bash theme={null}
pool exec -p "List the exported functions in this file" -o json
```

JSON mode prints event-style records. Common types:

* `reasoning`: Raw model reasoning
* `thought`: Agent message text
* `toolCall`: Tool invocations and arguments
* `toolCallResult`: Tool results
* `oauth_url`: Browser authentication required

Use JSON mode when another tool needs to consume the output.

## Run in automated mode

Use `--unsafe-auto-allow` when you want `pool exec` to run without approval prompts:

```bash theme={null}
pool exec -p "Review this repository for security issues" --unsafe-auto-allow
```

Use this only in trusted non-interactive environments. Explicit deny rules still apply.

For persistent approval rules, path rules, and `settings.yaml` locations, see [Tool permissions](/tool-permissions).

## Override sandbox usage

Use `--sandbox required` to require a configured sandbox for the run:

```bash theme={null}
pool exec -p "Review this repository" --sandbox required
```

Use `--sandbox disabled` only when you want to run without a configured sandbox.

## Related resources

* [Poolside Agent CLI](/cli/pool)
* [Interactive mode](/cli/interactive-mode)
* [CLI reference](/cli/cli-reference)
