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

# Tools & Permissions

> What the agent can do, and how you stay in control of it

## Overview

Parsaa's agent works by calling **tools** — to read code, edit files, run builds, and more. You control this on two independent axes:

* **Permissions** — whether a category of action runs freely, prompts you, or is blocked.
* **Enabled tools** — which individual tools are available at all.

## Capabilities

Every tool belongs to a **capability** bucket. Permissions are set per capability, not per tool.

| Capability          | What it covers                                                                     |
| ------------------- | ---------------------------------------------------------------------------------- |
| **Read & search**   | Read files, grep, search, symbols, git status/diff                                 |
| **Edit code**       | Write changes to files (`create_file`, `edit_file`, `rewrite_file`, `delete_file`) |
| **Git**             | Git commits                                                                        |
| **Run commands**    | Run shell commands (`execute_command`, `bash`)                                     |
| **Build & run app** | Compile, run, test, and control simulators/devices                                 |
| **MCP tools**       | Tools from connected MCP servers                                                   |

## Permission Modes

Each capability is set to one of three modes:

| Mode      | Behavior                                              |
| --------- | ----------------------------------------------------- |
| **Allow** | Runs immediately, no prompt                           |
| **Ask**   | Prompts you before running                            |
| **Deny**  | Never runs — the tool isn't even offered to the model |

<Info>
  Defaults are safe: **Read & search** is **Allow** (read-only runs freely), and every mutating capability (edit, git, run commands, build) defaults to **Ask**.
</Info>

### The approval prompt

When a capability set to **Ask** is invoked, Parsaa pauses and shows an inline approval card with a preview of the exact action (e.g. the shell command or file path). You choose:

| Choice                | Effect                                                 |
| --------------------- | ------------------------------------------------------ |
| **Deny**              | Reject this call                                       |
| **Allow for session** | Allow this capability for the rest of the chat session |
| **Allow once**        | Allow just this single call                            |

"Allow for session" upgrades **Ask → Allow** for that capability until the session ends.

## Enabling & Disabling Tools

Separately from permissions, you can turn individual tools on or off in **Settings → Extensions → Tools**:

* **Built-in** tab — toggle each built-in tool; a `?` shows its description. New tools appear automatically.
* **MCP** tab — tools grouped by server (see [MCP Tools](/integrations/mcp-tools)).
* Bulk **Enable All** / **Disable All**, plus search.

A disabled tool is never offered to the agent, regardless of its capability's permission mode.

## Built-in Tool Reference

| Capability      | Tools                                                                                                                                                                                                                                  |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Read & search   | `file_tree`, `read_files`, `grep_project`, `globs`, `search_file_names`, `get_symbol_info`, `semantic_search`, `git_status`, `git_diff`, `list_schemes`, `list_simulators`, `list_devices`, `show_build_settings`, `get_app_bundle_id` |
| Edit code       | `create_file`, `edit_file`, `rewrite_file`, `delete_file`                                                                                                                                                                              |
| Git             | `git_commit`                                                                                                                                                                                                                           |
| Run commands    | `execute_command`, `bash`                                                                                                                                                                                                              |
| Build & run app | `compile_app`, `run_app`, `test_app`, `boot_simulator`, `install_app`, `launch_app`, `stop_app`                                                                                                                                        |
| MCP tools       | any `mcp_*` tool from a connected server                                                                                                                                                                                               |

<Note>
  Sub-agents get their own tool allowlist **and** their own per-capability permission matrix, so you can make a sub-agent stricter than the main agent. See [Sub-agents](/features/subagents).
</Note>
