---
title: "oz0 tenant tool-policy"
description: "Usage and flags for oz0 tenant tool-policy."
canonical_url: "https://docs.oz0.ai/reference/cli/oz0/tenant/tool-policy"
---
# oz0 tenant tool-policy

> Usage and flags for oz0 tenant tool-policy.

For: Operators and developers looking up a command.

A tenant's tool policy decides what happens to calls to its plugins' functions, by what each function's MCP annotations say about it: Read (read-only), Destructive (not read-only, and it says destructiveHint: true), Reaches outside (unless it says openWorldHint: false), or Unknown (no annotations at all, or not read-only and silent on destructiveHint, which MCP reads as destructive).

Each type takes allow, approve (Ask: a person decides each call) or refuse; the strictest that applies wins, and rules that name functions win over the types. A plugin's requires_approval still asks a person. The defaults: Read and Reaches outside functions run, and a person decides each call of a Destructive or an Unknown one.

Nodes apply a new policy to the jobs that start after their next heartbeat; `catalog` shows what it does to each function. oz0 policy changes one rule at a time, with flags instead of settings inside a rule's text, and exports and applies the whole policy as a file; these commands work as before.

## Usage

```bash
oz0 tenant tool-policy [command]
```

## Subcommands

- [`load`](https://docs.oz0.ai/reference/cli/oz0/tenant/tool-policy/load)
- [`set`](https://docs.oz0.ai/reference/cli/oz0/tenant/tool-policy/set)
- [`shadow-report`](https://docs.oz0.ai/reference/cli/oz0/tenant/tool-policy/shadow-report)
- [`show`](https://docs.oz0.ai/reference/cli/oz0/tenant/tool-policy/show)

## Inherited flags

<table>
<thead>
  <tr>
    <th>
      Flag
    </th>
    
    <th>
      Type
    </th>
    
    <th>
      Default
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        --context
      </code>
    </td>
    
    <td>
      string
    </td>
    
    <td>
      <code>
        $OZ0_CONTEXT or &lt;config dir>/orchestrator-zero/context.json
      </code>
    </td>
    
    <td>
      CLI context file written by server init
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --log-level
      </code>
    </td>
    
    <td>
      string
    </td>
    
    <td>
      <code>
        info
      </code>
    </td>
    
    <td>
      log level: debug, info, warn or error
    </td>
  </tr>
</tbody>
</table>

See [all `oz0` commands](https://docs.oz0.ai/reference/cli/oz0) and the [global flags](https://docs.oz0.ai/reference/cli/oz0#global-flags).


## Sitemap

See the full [sitemap](https://docs.oz0.ai/sitemap.md) for all pages.
