When a restriction is not enforced

A task's permissions say what its session may touch: which tools it uses, where it writes and reads, whether it reaches the network. HarmFlow applies them through the AI tool's own controls. When the AI tool or the operating system cannot enforce one of these restrictions, HarmFlow warns you with Restriction not enforced. This page says what the warning means, where it shows, what makes a restriction count as not enforced, and how to hide it on an execution.

What the warning means

The task still runs. HarmFlow does not stop or refuse a task because a restriction it declares cannot be enforced: it runs the task with the controls the AI tool has, and tells you which restriction those controls do not hold. The warning names each restriction that is not enforced, and why, such as a shell command that may read outside the workspace, or a settings file that allows more than the task's tool list.

Read it as a statement of fact about the run, not as an error: the session may do what that restriction meant to prevent. Change the task's permissions, or the settings the warning names, if that matters to you.

Where the warning shows

The execution's Events tab and its log also record each restriction that is not enforced.

What lifts a restriction

A restriction counts as not enforced when another settings source the AI tool loads can lift it. For Claude Code, these are the allow rules, and the additional directories, of its settings files:

Claude Code adds what these files allow to what the task allows. When a file allows more than the task's permissions, such as a tool the task's list leaves out, or edits or reads outside the workspace, the warning names that file's source: "user settings", "project and local settings", and so on. Claude Code's managed settings are not checked, and the warning says so.

HarmFlow checks these sources twice. When you save a task, it reads your user settings. When each execution starts, it reads every source again, the workspace's own project and local settings included, so a warning can appear on an execution that the task's row did not show.

Codex has controls of its own, and its own restrictions it cannot enforce. One of them comes from its managed requirements, which have a page of their own: Codex's managed requirements.

Hiding the warning on an execution

In Settings, under General, the Executions panel has the option Show restriction warnings. It is on by default.

Turning it off hides the warning in an execution's detail: the banner, and its entry in the Warnings of the Results tab. The change takes effect at once. While it is off:

The option hides the warning; it changes nothing about the run. The restriction is still not enforced.