Command sandbox and approvals

While DataMind Oda works on a task, it sometimes runs commands on your computer. This page covers how the chat's access mode confines those commands, what a blocked command looks like, and how you allow one wider retry. For how commands run and how to read their output, see Shell commands.

What a command may change

The chat's access mode decides where a command may change files on your computer:

To change the mode, click the mode button in the message box or type /permission; Workspaces, files and permissions covers the modes and what each one allows.

When a command is blocked

When a command tries to change a file the mode does not allow, the file sandbox stops that change:

The same sandbox stops Oda's file changes; File safety and error messages covers the file side.

Allowing a wider retry

After a blocked command, Oda may ask to run the exact same command once more, with wider access:

  1. Oda asks you first, with a one-sentence reason. Nothing runs before your answer.
  2. The retry repeats the exact same command, once, with wider access only: Oda asks for the narrowest wider access that can work. When Oda needs more access shows how far each mode can widen.
  3. If you allow it, that one step runs with the wider access, and the result reports the mode it actually ran under.
  4. If you reject it, or the request is cancelled, the command does not run, and Oda continues with the task another way.

The request works like Oda's other approval cards; Your first task shows the choices and what each answer does.

When the limits cannot be set up

On some computers the file limits cannot be applied to the folder, for example when Windows denies the permission change they need. Oda does not drop the limits quietly. It reports what went wrong:

DataMind Oda can't limit writes to <folder> because Windows denied changing its permissions.

Before running the command without restrictions, it asks:

DataMind Oda can't limit writes to <folder>. Run this command without restrictions?

Limits worth knowing

Questions, answered

What does the sandbox note in a command's result mean?

The command tried to change a file the chat's mode does not allow, and the file sandbox stopped that change. The note names the mode the command ran under, and the denied change is not made.

Why did my command report that file access was denied?

It tried to change files outside the limits of the chat's mode. You can allow the wider retry Oda asks for, change the chat's access mode, or use a folder you own.

Can a blocked command be retried more than once?

One retry of the exact same command, and only wider. A request that does not go past the mode the command ran under is refused.

Does allowing a wider retry change the mode for the rest of the chat?

No. The widening covers that one step; the chat keeps its access mode, and the next command that goes wider asks you again.

What happens if I reject a wider retry?

The command does not run, and Oda continues with the task another way. The ways forward are to allow it when the command is retried, to switch the chat to Full access where it is offered, or to use a folder you own.

What happens when no approval prompt can be shown?

Nothing is approved without you: the command does not run. With approval prompts turned off, the request is refused without asking you.

Why could Oda not apply the limits to my folder?

On some computers the limits need a permission change that Windows denies, so they cannot be applied to that folder. Oda does not drop the limits quietly: it says why, and asks before running one command without restrictions.

Why do some commands fail while the limits are on?

In the sandbox modes, programs cannot open named pipes, so a command that needs one fails. It is the sandbox working as intended, not a fault in the command.

What does it mean when the result says the sandbox runner failed?

The sandbox itself could not start or supervise the command, so the command did not run. The result says this is a sandbox problem, not a command failure, and Oda treats it that way.