Monofile's AI assistant reads and writes the same files you do, runs as a background task you can close the tab on, and every change it makes is reviewable and revertable.

> [!NOTE]
> The assistant is a paid feature. On a personal workspace it needs **Pro**; inside an organization it needs the organization's **Team** plan, and a personal subscription never applies there. Usage is metered in AI credits, which come with the plan. See [[AI Credits and Usage]].

## Where you find it

| Surface | How to open it |
|---|---|
| Any workspace page (web) | The sparkle launcher at the bottom right, the **AI Chat** item in the sidebar, or <kbd>Cmd</kbd>+<kbd>J</kbd> (<kbd>Ctrl</kbd>+<kbd>J</kbd> on Windows and Linux) |
| The home screen | The composer in the middle of the page, which starts a conversation straight away |
| The desktop app | The same floating panel and the same <kbd>Cmd</kbd>+<kbd>J</kbd> shortcut |
| Inside a document | <kbd>Cmd</kbd>+<kbd>K</kbd> opens the inline composer, a different and much simpler surface. See [[The Inline Composer]] |

The panel is not modal. You can keep writing, switch files and browse while the assistant works, and its edits show up as diffs in the editor as it goes.

## The two modes

The mode selector sits in the composer footer and applies to the conversation you are in.

| Mode | Label in the UI | What it can do |
|---|---|---|
| Read-only | **Read** | Explore, read, search, look things up on the web. It cannot create, change or delete anything |
| Read and write | **Write+Read** | Everything above, plus creating and editing files, diagrams and boards, versioning actions and share links |

Start in **Read** when you want an answer about your workspace. Switch to **Write+Read** when you want work done.

## What it can reach

The assistant works inside one workspace, either your personal files or the team workspace the conversation was started in. It never sees another person's private files, and it has no access to your computer.

| Kind of ability | What that means in practice |
|---|---|
| Explore your files | List, read and search your workspace, including shell-style commands such as `ls`, `cat`, `grep` and `find` |
| Search by meaning | Semantic search across your own files, not just keyword matching |
| Write | Create and edit files, with every change captured as a version |
| Draw and diagram | Turn a description into an editable `.draw` diagram, or build and rearrange `.canvas` boards |
| History | List a file's versions, read an old version, take a named checkpoint, restore a file, undo a whole run |
| Share | Create, check and revoke a private share link for a single file |
| Research | Live web search, plus GitHub and Wikipedia lookups |

It cannot publish anything to the community, vote, comment, follow people, or touch files outside the workspace the conversation belongs to. Those live on the [[Using the API|public API]] instead.

## How a message runs

```mermaid
flowchart LR
  M[Your message] --> T[Durable task on the server]
  T --> D[Diffs in the editor]
  T --> A[Approval, when needed]
  T --> C[Changeset to review]
```

Each message you send starts one durable task. It keeps running if you close the tab, you can stop it at any point, and a few destructive actions pause and ask you first. The three pages that follow cover those in order: [[Long-Running Tasks]], [[Reviewing Changes]] and [[Approvals]].

## Next steps

:::cards
- [[Long-Running Tasks]] — Durable runs that survive reloads and closed tabs, and how to watch or stop them.
- [[Reviewing Changes]] — The diff view and the changeset card: keep or revert everything an agent touched.
- [[Approvals]] — Why some actions pause for approval, and how to answer them.
- [[Context and Mentions]] — Mention files, attach images and PDFs, and control what the assistant sees.
- [[AI Credits and Usage]] — How AI usage is metered, the effort presets, and where to see spend.
- [[The Inline Composer]] — Generate or rewrite text in place with the editor composer.
- [[Driving the Assistant]] — Hand the built-in assistant a task over the API, watch it stream, and stop it.
:::
