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

# AI Tool Coverage

> Check every prompt sent from Claude Code, Codex, and Cursor before it reaches the model, and record those sessions as traces

AI tool coverage puts Velatir between a person and their AI coding tool. Velatir for Desktop registers itself in each supported tool's own hooks, so every prompt is checked by your [agents](https://docs.velatir.com/agents/understanding-agents.md) before the tool sends it to the model. A prompt an agent in the **Enforcer** role blocks is never sent.

Prompts, responses, and sessions from these tools become traces, the same as activity in the browser. Nothing changes for the people using the tools until an agent blocks something.

## Supported Tools

| Tool | What is covered | Needs a restart |
| - | - | - |
| **Claude Code** | Prompts, responses, and tool calls | Yes, for sessions already running |
| **Codex** | Prompts, responses, and tool calls | Yes, for sessions already running |
| **Cursor** | Agent chat and Cmd-K: prompts, responses, and tool calls. The `cursor-agent` CLI is covered in part | No |

## What You Need

* **Velatir for Desktop 0.27.0** or later on the devices. See [Download and install](https://docs.velatir.com/desktop-app/download-and-install.md).
* The **Administrator** role in your Velatir organisation, to change the settings. See [Roles & permissions](https://docs.velatir.com/platform/roles-and-permissions.md).
* An agent in the **Enforcer** role on the workspace, such as [Data Protector](https://docs.velatir.com/agents/data-protector.md), if you want prompts blocked. Without one, prompts are recorded and reviewed, but nothing is blocked.

## Turn It On

**1. Open Desktop coverage**

Open **Setup** in the dashboard and find the **Desktop coverage** card.

**2. Switch on AI tool coverage**

Turn on **AI tool coverage**. It is off until you turn it on.

**3. Choose the tools**

Tick the tools to cover: **Claude Code**, **Codex**, and **Cursor**. All three are ticked by default. The choice applies to every device in your organisation.

Devices apply the change on their next configuration sync. Unticking a tool, or turning **AI tool coverage** off, removes Velatir from that tool's hooks the same way.

## What People See

* **A blocked prompt is not sent.** The tool shows that the prompt was blocked, and a **Prompt blocked** notification names the agent and its reason, in the person's own language.
* **Sessions already running need a restart.** Claude Code and Codex read their hooks when a session starts, so a session that was open before coverage reached the device is not checked. Velatir shows a notification asking the person to restart it. Cursor picks the change up straight away.
* **Everything else works as before.** A prompt that passes the check is sent as usual.

## Block If the Check Fails

By default, a prompt goes through when Velatir cannot check it, for example when the device is offline or Velatir is not running. Turn on **Block if the check fails**, under **AI tool coverage**, to block it instead. The person then sees *Velatir could not evaluate this request*.

This setting only applies on workspaces whose Data Protector is an **Enforcer**. Elsewhere, prompts that cannot be checked always go through.

A prompt too large to check is blocked whichever way this is set, so padding a prompt cannot get it past Velatir.

## Tool Calls

Velatir records each tool call the assistant makes, such as running a command or editing a file, with the tool's name and how long it took. Tool calls are recorded, not checked: an agent cannot block one.

Whether the tool call's input and output are kept follows your **Store trace data in sessions** setting. See [Data privacy](https://docs.velatir.com/security/data-privacy.md).

| Setting | What is kept for a tool call |
| - | - |
| **Never** (default) | The tool's name and timing. No input or output. |
| **When flagged** | Input and output only when an agent flagged the prompt of that turn. |
| **Always** | Input and output for every tool call. |

With your own [encryption key](https://docs.velatir.com/security/data-storage-and-encryption.md), only the tool's name and timing are kept.

## Subscriptions

Velatir for Desktop reads which plan each tool is signed in to and sends it with every prompt. [Gatekeeper subscription rules](https://docs.velatir.com/agents/gatekeeper.md#subscription-rules) therefore apply to Claude Code, Codex, and Cursor as they do in the browser: while Gatekeeper is an Enforcer, a prompt sent from a subscription you do not allow is blocked. When the plan cannot be identified, nothing is blocked.

## Limits

> [accordion] Hooks are not a security boundary
>
> Someone with administrator rights on the device can remove Velatir's hooks. A tool run inside a container or under another user account is not covered.

> [accordion] Claude Code before a folder is trusted
>
> Claude Code runs no hooks in a folder until the person accepts its trust prompt. Prompts sent before that are not checked.

> [accordion] Tools in an elevated terminal on Windows
>
> A tool started from a terminal running as administrator cannot reach Velatir. Its prompts go through, or are blocked when **Block if the check fails** is on.

> [accordion] Cursor and personal hooks
>
> Cursor lets a person add hooks of their own, and those can override Velatir's answer. Cursor coverage is therefore not as firm as Claude Code's and Codex's, where Velatir's hooks take precedence.

***

> [card] [Data Protector](https://docs.velatir.com/agents/data-protector.md)
>
> What Data Protector checks for and how it blocks.

> [card] [How it works](https://docs.velatir.com/desktop-app/how-it-works.md)
>
> Everything else Velatir for Desktop does on the device.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.