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:
2
Allow scheduled jobs
Add
CronCreate to permissions.allow in ~/.claude/settings.json:~/.claude/settings.json
3
Restart Claude Code
Claude Code reads both at session start.
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 anautoMode.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:
~/.claude/settings.json
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, seeapprove_harness_edits. - Agent fixes.
/simulation-fixesnever edits your agent’s source.
Next steps
Data and privacy
What leaves your machine, and the audit record.
Environment variables
Every variable the plugin reads.