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

# Permissions

> How the plugin runs under Claude Code's auto permission mode, and how approval prompts act as your consent for uploads.

The plugin's flows run under Claude Code's **auto mode** with no configuration. This page explains the one capability auto mode removes, how to restore it, and how to allow a plugin script if your environment blocks one. It also explains which prompts are your consent.

## Auto mode

Auto mode lets Claude Code's permission classifier approve routine actions for you. The plugin is built for it:

* Every step that manages the flow's progress is a single call to one plugin script.
* The flow keeps its own state in `~/.plurai/flow/`, outside `~/.claude/`, so nothing the flow does looks like the agent changing its own configuration.

### The dropped-turn heartbeat

Outside auto mode, the plugin schedules a heartbeat that picks a flow back up when a turn drops, for example on an API error. Auto mode denies creating scheduled jobs, so under auto mode the plugin does not try. The flow prints a one-line notice instead, makes no call and triggers no denial. The flow runs normally, without that rescue.

To restore the heartbeat under auto mode:

**1. Force the heartbeat**

Export the variable in the shell that launches Claude Code:

```bash theme={null}
export PLURAI_FLOW_HEARTBEAT=force
```

**2. Allow scheduled jobs**

Add `CronCreate` to `permissions.allow` in `~/.claude/settings.json`:

```json ~/.claude/settings.json theme={null}
{
  "permissions": {
    "allow": ["CronCreate"]
  }
}
```

**3. Restart Claude Code**

Claude Code reads both at session start.

If a turn drops without the heartbeat, re-run the same command. It resumes where it stopped.

> [!NOTE]
>
> Copilot CLI and Codex CLI have no scheduled-job tool, so the heartbeat never runs there. Re-run the command after a dropped turn.

### If the classifier blocks a plugin script

If auto mode ever blocks a call to a plugin script in your environment, add an `autoMode.allow` (or `autoMode.environment`) entry to `~/.claude/settings.json`. Keep the literal `"$defaults"` entry in any list you set, or you lose the built-in rules:

```json ~/.claude/settings.json theme={null}
{
  "autoMode": {
    "allow": [
      "$defaults",
      "Running scripts under the plurai-simulation plugin directory (flow-window.sh, poll_job.sh, wait.sh) is routine simulation-flow work"
    ]
  }
}
```

Restart Claude Code after you change the file.

## Approval prompts are your consent

Uploads of your data run as ordinary shell commands (`plurai ingest-*`). In your coding agent's default permission mode, its approval prompt shows you the exact command before it runs, so approving it is your consent to that upload. Under `/simulate` or auto mode, uploads run without that prompt. Before anything leaves your machine, the SDK also prints a disclosure of what will be sent and records the upload in `.plurai/uploads/audit.log`.

Some decisions are asked as explicit questions, not as command approvals:

* **The mock-or-real map.** The scan shows which tools are mocked and which run for real, and writes no file until you approve it.
* **Fixes to the Harness.** When the suite's quality loop finds a fix that belongs in `simulate.py`, it asks you first. For unattended runs, see [`approve_harness_edits`](https://docs.plurai.ai/reference/config#approve_harness_edits).
* **Agent fixes.** `/simulation-fixes` never edits your agent's source.

See [Data and privacy](https://docs.plurai.ai/security/data-and-privacy.md) for what each upload contains.

## Next steps

> [card] [Data and privacy](https://docs.plurai.ai/security/data-and-privacy.md)
>
> What leaves your machine, and the audit record.

> [card] [Environment variables](https://docs.plurai.ai/reference/environment-variables.md)
>
> Every variable the plugin reads.


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