> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Permission Allowlist • AI Agent SDK

> PermissionAllowlist: Persistent permission allowlist for tools.

# PermissionAllowlist

> Defined in the [**approval**](../modules/approval) module.

<Badge color="blue">AI Agent</Badge>

Persistent permission allowlist for tools.

Allows pre-approving tools and paths to skip interactive approval.
Can be saved/loaded from JSON for persistence across sessions.

## Methods

<CardGroup cols={2}>
  <Card title="load()" icon="function" href="../functions/PermissionAllowlist-load">
    Load allowlist from JSON file.
  </Card>

  <Card title="add_tool()" icon="function" href="../functions/PermissionAllowlist-add_tool">
    Add a tool to the allowlist.
  </Card>

  <Card title="remove_tool()" icon="function" href="../functions/PermissionAllowlist-remove_tool">
    Remove a tool from the allowlist.
  </Card>

  <Card title="is_allowed()" icon="function" href="../functions/PermissionAllowlist-is_allowed">
    Check if a tool is allowed.
  </Card>

  <Card title="is_empty()" icon="function" href="../functions/PermissionAllowlist-is_empty">
    Check if allowlist is empty.
  </Card>

  <Card title="list_tools()" icon="function" href="../functions/PermissionAllowlist-list_tools">
    List all allowed tools.
  </Card>

  <Card title="clear_session_permissions()" icon="function" href="../functions/PermissionAllowlist-clear_session_permissions">
    Clear session-only permissions.
  </Card>

  <Card title="save()" icon="function" href="../functions/PermissionAllowlist-save">
    Save allowlist to JSON file.
  </Card>
</CardGroup>

## Usage

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
allowlist = PermissionAllowlist()
    allowlist.add_tool("read_file")
    allowlist.add_tool("write_file", paths=["./src", "./tests"])
    
    if allowlist.is_allowed("read_file"):
        # Skip approval prompt
        pass
```

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/approval.py#L75">
  `praisonaiagents/approval.py` at line 75
</Card>
