---
title: "oz0 memory settings set"
description: "Change how long plugins' records last and how much one scope holds, and which purposes read each other's records."
canonical_url: "https://docs.oz0.ai/reference/cli/oz0/memory/settings/set"
---
# oz0 memory settings set

> Change how long plugins' records last and how much one scope holds, and which purposes read each other's records.

For: Operators and developers looking up a command.

Change how long plugins' records last and how much one scope holds, and which purposes read each other's records. Every flag left out keeps its value. --compatible from>to lets jobs for purpose to read records written for purpose from (repeat for more; it replaces the list, and --no-compatible clears it); reading never grants writing. A job without a purpose reads only records written without one.

A later default or longest end, a higher cap and a new pair loosen: with four eyes on they wait for another admin. A change applies to writes from then on; records already written keep their ends (a later version that carries its record's end past a lowered longest end is brought down to it). Closed and ended records count toward the caps until retention removes them.

## Usage

```bash
oz0 memory settings set [flags]
```

## Flags

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

<tbody>
  <tr>
    <td>
      <code>
        --compatible
      </code>
    </td>
    
    <td>
      stringArray
    </td>
    
    <td>
      
    </td>
    
    <td>
      a pair of purposes from>to: jobs for to read records written for from (repeat for more)
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --decision-ref
      </code>
    </td>
    
    <td>
      string
    </td>
    
    <td>
      
    </td>
    
    <td>
      the decision or case the change follows, such as a case number (at most 200 characters)
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --default-days
      </code>
    </td>
    
    <td>
      int32
    </td>
    
    <td>
      
    </td>
    
    <td>
      the end a record gets when its writer gives none, in days (0 for the default, 90)
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --json
      </code>
    </td>
    
    <td>
      bool
    </td>
    
    <td>
      
    </td>
    
    <td>
      print JSON instead of a table
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --max-bytes
      </code>
    </td>
    
    <td>
      int
    </td>
    
    <td>
      
    </td>
    
    <td>
      the most bytes of the newest versions of the records one plugin keeps in one scope (0 for the default, 8 MiB; at most 64 MiB)
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --max-days
      </code>
    </td>
    
    <td>
      int32
    </td>
    
    <td>
      
    </td>
    
    <td>
      the latest end a writer may give, in days (0 for the default, 365; at most 3650)
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --max-records
      </code>
    </td>
    
    <td>
      int32
    </td>
    
    <td>
      
    </td>
    
    <td>
      the most records one plugin keeps in one scope, closed and ended ones too (0 for the default, 5000; at most 20000)
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --no-compatible
      </code>
    </td>
    
    <td>
      bool
    </td>
    
    <td>
      
    </td>
    
    <td>
      map no purposes as compatible
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        --reason
      </code>
    </td>
    
    <td>
      string
    </td>
    
    <td>
      
    </td>
    
    <td>
      why, required for every governance change (at most 500 characters; default $OZ0_REASON); the audit log keeps it
    </td>
  </tr>
</tbody>
</table>

## 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>
  
  <tr>
    <td>
      <code>
        --tenant
      </code>
    </td>
    
    <td>
      string
    </td>
    
    <td>
      <code>
        default
      </code>
    </td>
    
    <td>
      the tenant
    </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.
