Talk this topic through with an AI

You get an answer from the documentation and the page it comes from.

exec0

How exec0 checks tool calls

exec0 checks every tool call an AI agent makes before it runs, on the device. This page lists what is checked, how a decision is made, which rules apply without the model, and what is stored where.

~5 min read · exec0

What is checked

ToolCheckedNote
BashyesShell commands
Write, Edit, NotebookEdityesFile writes and edits
WebFetch, WebSearchyesWeb requests
MCP toolsyesEvery call to an MCP server
Read, Grep, GlobnoReading stays free. What the agent read is context for the next check.
SubagentsyesTheir own tool calls are checked like any other
AgentStatus
All popular coding agents, including Claude Code, Codex, Cursor and Gemini CLIsupported

What the check sees

InputContent
RequestThe last request you sent the agent
SessionEarlier tool calls of the same session: name and truncated arguments
Read contentThe content of the last file, web page or MCP response the agent read
CallTool name and arguments of the call about to run

Decisions

DecisionWhenEffect
allowNo sign of harmThe call runs.
askThe case is unclearThe PoisonZero dialog opens. The call waits for your answer.
blockA fixed rule matches, or Melira AI sees clear harmThe call does not run. The agent receives the reason.
The call counts, not who asked for it. A clearly harmful call is blocked whether it came from a web page, a file, injected text or your own request, and without asking first. Clear harm: data sent to a third-party destination, a security function switched off, credentials taken, destruction.

Fixed rules

Checked first, without the model. A match blocks at once, even when the engine is not running.

RuleExample
Delete the root, home or system foldersrm -rf on /, ~ or /usr
Format or overwrite a disk, write to /devdd onto a disk device
Run code from the internet directlycurl … | sh
Read the system keychainDumping stored passwords from the keychain
Send a secret to a third-party hostA GitHub token sent to example.com. The same token sent to api.github.com is not blocked by this rule.

Calls that are sometimes legitimate go to Melira AI with a note instead:

  • Writing agent settings and hooks
  • Writing to credential folders, for example ~/.ssh/authorized_keys
  • Force push to main or master

Settings

You set how exec0 intervenes during onboarding.

Timeouts and errors

SituationResult
No answer in the dialog before the deadlineblock
Dialog closed or dismissedblock
Fixed rule matches while the engine is downblock
Same rule as for memory changes: no answer is a no. See answering the dialog and fail-closed.

Availability

ItemValue
ActivationOptional, set during onboarding
AgentsAll popular coding agents

Privacy

DataCloud modePrivate mode
Call content: command, arguments, file paths, file content, URLOn the deviceOn the device
Request, session, read contentOn the device, per sessionOn the device, per session
Allowed calls (allow): entry in the local journal, without contentOn the deviceOn the device
Interventions (block, ask): audit entry, without contentOn the device and in the consoleOn the device

An audit entry holds only these fields:

FieldContent
TimeWhen the intervention happened
Actionblock or ask
ToolOnly the tool name, for example exec0:Bash
ReasonName of the fixed rule, or Melira AI
CategoryName of the detected category
Danger valueValue from 0 to 1, when Melira AI decided
Never in the audit: command, arguments, file paths, file contents, URLs or your request. In Private mode, the audit does not go to the console either; the device only fetches its license about every 30 days.

Full list: what Cloud mode sends.

exec0 and inject0

inject0exec0
ChecksContent, before an agent reads itActions, before an agent runs them
RunsAs a service at api.inject0.comOn your device
AnswerDanger value from 0.000 to 1.000allow, ask or block