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

# Modes and permissions

> Switch among Default, Plan, Agent, and Auto, and handle permission dialogs.

The mode picker under the input box decides what the model can do on its own and which actions must ask you first.

Claude Code offers all four modes. Codex and the other engines do not offer plan mode.

## Four modes

| UI name | Internal value      | Behavior                                                     | Best for                            |
| ------- | ------------------- | ------------------------------------------------------------ | ----------------------------------- |
| Default | `default`           | Confirm reads, writes, and commands first                    | Unfamiliar repos, production config |
| Plan    | `plan`              | Read-only tools only. Produce a plan, then wait for approval | Large changes, comparing approaches |
| Agent   | `acceptEdits`       | Auto-accept creating and editing files                       | Everyday code changes               |
| Auto    | `bypassPermissions` | Skip permission checks                                       | Local tasks you fully trust         |

<img src="https://mintcdn.com/mossx-docs/kz4nt5KFSKzkAZwe/images/vscode/permission-dialog.png?fit=max&auto=format&n=kz4nt5KFSKzkAZwe&q=85&s=73ef43d18b55b42d20b00c50cbeadd11" alt="Permission confirmation dialog" width="100%" data-path="images/vscode/permission-dialog.png" />

<Warning>
  Auto mode skips file and command confirmation. Use it only when you accept the model changing any workspace file and running commands.
</Warning>

## How to answer a permission dialog

Default mode and some Agent actions open a permission dialog:

| Option       | Result                                                    |
| ------------ | --------------------------------------------------------- |
| Allow        | Approve this time                                         |
| Always allow | Do not ask again for this kind of action in this session  |
| Deny         | Skip this time. The model tries another approach or stops |

Requests from an external process are labeled separately. The dialog has a countdown. After timeout it closes and the model continues with the current policy. Set the seconds in **Settings → General → Behavior → Permission and question dialog timeout**, from 30–3600.

When the model asks you a multiple-choice question, it uses the **Ask user** dialog. Turn on system notifications in Settings so you do not miss it in another window.

## Plan mode

Plan mode only gives the model read-only tools. It analyzes the code, writes a plan, then waits for your approval.

Typical flow:

1. Switch to **Plan**
2. Describe the change
3. Review the plan and ask for another version if needed
4. Approve or reject it in the approval box
5. After approval, let it execute

<img src="https://mintcdn.com/mossx-docs/kz4nt5KFSKzkAZwe/images/vscode/plan-approval.png?fit=max&auto=format&n=kz4nt5KFSKzkAZwe&q=85&s=3de14295804c00882ffd93a71d2322bf" alt="Plan approval" width="100%" data-path="images/vscode/plan-approval.png" />

Codex, Grok, Kimi, OpenCode, and Pi do not list plan mode. Use Default, Agent, or Auto with those runtimes.

## Codex sandbox

Codex also has a sandbox policy in **Settings → Permissions**. It is a second layer on top of chat mode:

* Mode: whether to ask you
* Sandbox: which directories and network the command can actually touch

You can combine them. For example, Agent mode auto-accepts edits while a stricter sandbox limits commands.

## How this relates to VS Code settings

The extension also has these related switches:

* `ccGui.autoSyncActiveFile`: whether to sync the current editor file path automatically
* **Send the open file path**: whether to mention a file automatically when you select it in Explorer
* **Debug log**: turn this on when you debug permissions or the bridge

These switches do not replace the mode picker. Day to day, use the mode under the input box.
