Permissions and approvals

DataMind Oda checks every step before it runs: the file sandbox limits where it may change files, and an approval step decides which steps need your answer first. This page is the reference behind those checks. It covers where the approval step sits, what asks before it runs, what a mode bundles, who may answer, and what happens when nothing can.

How a step passes the checks

Every step Oda takes runs through the same stages, in order:

  1. The checks that can refuse the step run first, before anything is executed.
  2. The approval step asks once when the step needs an answer. Nothing runs while the request waits.
  3. The step runs under the limits of the chat.
  4. The result is recorded and returned, whether the step ran, was denied, or never started.

Two rules make the chain safe by default:

What asks before it runs

What Oda is about to doWhat the request showsWhen it is skipped
A step beyond the chat's access mode, such as a file change or a command that needs wider rightsThe reason for asking, and the step it is aboutWhen approvals are off: Full access turns them off, and Auto review replaces the prompt with a review of each call
A plan, in plan modeThe plan, for Approve or another round of planningNever; the review waits until you decide
Saving a skillThe skill's name and the complete file list: folder, files, total size, and anything left out with its reasonIn a Full access session, where the write is saved without a prompt
Writing a hookThe exact event, matcher, command and file, with the change as Before: and After:In a Full access session, where the write is saved without a prompt
Creating, changing, pausing or deleting a scheduled taskThe exact settings and the prompt that will be savedIn a Full access session; a task never gets more access than the session that saves it

What a mode bundles

A permission preset is two settings travelling together: how far Oda may change files, and whether a step that goes wider asks you first. Switching the preset sets both at once, so the mode shown in a chat names both its file limits and its approval policy.

When a chat's file limits and prompt settings match no preset, the control shows Custom; choosing a preset moves the chat back onto one. Access modes and approvals covers the presets behind the modes, and Permission presets covers switching and remembering them.

Who may answer

When a step is denied

Questions, answered

Can an approval pass by default when nobody answers?

No. A step with no answer does not run: the request chain fails closed, so nothing is approved silently, and a request that cannot be delivered leaves the step undone.

Why does saving a skill or a hook ask, even when the chat's mode allows the change?

Because a library write is not judged by the mode's file limits: it asks through the approval step on its own, whatever the mode, and only a Full access session skips the request.

What does the request show before a library write?

For a skill, the complete file list: folder, files, total size, and anything left out with its reason. For a hook, the exact event, matcher, command and file, as Before: and After:. For a scheduled task, the exact settings and the prompt. Nothing is saved until you approve.

Who can answer an approval request?

You, in the chat. Nothing else can answer for you: a subagent cannot ask at all, and an unattended run gets a refusal recorded instead of an answer.

Can a helper start, change or pause my goal?

A helper cannot start, edit, pause or resume a goal: those accept only your own instruction given directly, and a helper's report or a started brief is refused. Marking a goal met, or blocked, may also come from the goal's own round.

How soon can a goal be reported blocked?

Not on the first obstacle: a goal is not reported blocked until the same obstacle has survived three rounds in a row, so a single failed round does not end it. Three is the default minimum.

Does a sandbox denial stop the run?

No. The denied change is not made, and Oda reads the denial and continues with what it may do; it can also ask to retry the exact step once with wider access.

Why did a step run without asking me?

Because it stayed inside the chat's access mode, where no approval is needed, or because the session runs with approvals off (Full access, and Auto review for its reviewed calls). In a session with approvals off, an operation that would need your answer is refused rather than run, so nothing is approved on your behalf.

What happens to a library write in a session with Full access?

It is saved without a prompt, and Oda records it: The session has Full access, so it was written without an approval prompt. When approval prompts are off in a session that does not have Full access, the request is refused instead, and nothing is saved.