# Access levels

Read only, Workspace write and Full access: what each level means, where Studio sets it, and how far Claude Code and Codex hold to it.

*Where in Studio: Settings → Subagents → How it runs → Execution mode*

*Last updated: 2026-10-25*

An access level says what an agent is meant to do on the computer that runs it. Studio names three levels and uses them for chats, subagents and the work chats start for each other. Studio never stops to ask you to approve a command or an edit: agents work unattended, so choose a level, and a computer, you are comfortable with.

## The three levels

| Level | What the agent is meant to do |
| --- | --- |
| **Read only** | Read and search the project. It does not change files or run commands. |
| **Workspace write** | Change files in the chat's checkout and run commands there. |
| **Full access** | Change files and run commands anywhere your user account can, with no sandbox. |

## Which level applies

| Where | Level |
| --- | --- |
| A chat you start | **Workspace write**. There is no access picker in the composer. |
| A chat in **Plan** mode, where the agent offers it | **Read only**. See [Plan and other modes](https://kelrova.com/docs/studio/chats/models#plan-and-other-modes). |
| A subagent in an Orchestra | The **Execution mode** of its profile. |
| Automations and workflows | **Workspace write**, shown in the run's setup. See [Automated and Workflows](https://kelrova.com/docs/studio/automation/automated). |
| A chat another chat starts | Never more than the chat that started it. See [Access ceiling and limits](https://kelrova.com/docs/studio/chats-together/limits). |
| A scheduled chat a chat proposes | At most **Workspace write**. See [When a chat proposes a schedule](https://kelrova.com/docs/studio/automation/schedule-proposals). |

## Set a subagent's level

Each subagent profile has one execution mode. A new profile starts at **Full access**.

1. **Open the profile**

   For a profile you use in every project, open **Settings → Subagents** and edit or add a profile. For a project's own profile, open the project's **Subagent Profiles** in the right panel.

2. **Pick the mode**

   Under **How it runs**, set **Execution mode** to **Read only**, **Workspace write** or **Full access**.

3. **Save**

   Choose **Add profile** or **Update profile** in Settings, or **Create profile** or **Save changes** in the project's panel. Agents started from the profile afterwards use the new mode.

On the agent map, an agent's record shows the mode it ran with under **Access**. See [The agent map and records](https://kelrova.com/docs/studio/orchestra/agent-map).

## How far an agent holds to it

The level is passed to the agent with its work. How strictly it is kept depends on the agent:

- **Claude Code**: Studio approves every tool request it makes. Studio adds no limit of its own, so only your own Claude Code settings restrict it.
- **Codex**: Studio starts it with its sandbox off and without approval prompts, at every level. Treat a Codex chat or subagent as **Full access**.
- A **Read only** subagent is told not to change repository files or run commands, and the other modes tell it to write only what its work needs.

> **Warning: A level is not a sandbox**
>
> Do not rely on **Read only** or **Workspace write** to protect files outside the project. An agent that ignores its instructions can do what your user account can do on that computer. For sensitive work, run the chat on a separate computer or a server you added for it. See [Run Studio on your own server](https://kelrova.com/docs/studio/devices/overview).

## The terminal is yours

The terminal in a chat runs your own shell in the chat's checkout. It is not an agent and has no access level. See [The terminal](https://kelrova.com/docs/studio/chats/terminal).

## Related

- [Models, reasoning and accounts](https://kelrova.com/docs/studio/chats/models)
- [How Orchestra works](https://kelrova.com/docs/studio/orchestra/overview)
- [Access ceiling and limits](https://kelrova.com/docs/studio/chats-together/limits)
- [The terminal](https://kelrova.com/docs/studio/chats/terminal)
