# Chat, files, terminal and browser

An agent and a code editor in one window - the chat, the editor with diff and commit, the terminal, the built-in browser, Mission Control and the project hub.

## Around the app

- **The sidebar**: **New Chat**, **Policies**, **Memory**, **Mission Control**, your chats grouped by project, and a **Library** (Recipes, Scheduler, Extensions). **Settings** is at the bottom.
- **A project hub**: click a project in the sidebar (or its settings icon) for its tabs: **Policies, Models, Agents, Workflows, Automations, Integrations, Planning, Pull requests, Assurance, Memory, Rules, Checkpoints, Decisions**.
- **The command palette**: {{kbd:⌘+K}} jumps to any project, chat or view. See [Keyboard shortcuts](shortcuts).

## The chat

New Chat asks *What should we build?*. Pick the project folder with the folder chip, choose a model, and describe the work. In the composer you can also set an [assurance level](assurance) or switch to Plan mode.

Every tool call the agent makes appears in the chat with its verdict as it happens. Asks wait for your answer: **Allow once**, **Deny**, or an [exception](exceptions-and-tests). You can steer the agent while it works: a message you send mid-turn reaches it before its next step.

Each turn ends with a receipt of what changed, with **Undo** to restore your files to before the turn. See [Restore points and memory](restore-and-memory).

## Files: a real editor

Switch a chat between **Chat**, **Files** and **Browser**. Files has:

- a file tree with git status badges, and a **Changes** list;
- an editor with tabs ({{kbd:⌘+P}} quick open, {{kbd:⌘+S}} save);
- side-by-side diffs.

Edit a file while the agent works and the agent sees your change before its next step. Lines you just changed are protected: the agent asks before overwriting them.

### Commit

Pick the files, then **Generate message** (or write one), and **Commit** or **Commit & Push** ({{kbd:⌘+Enter}}). Right-click a folder to select its changes. If a push is rejected after a rebase, Warden offers a force-with-lease push, after you confirm.

### Review before you commit

Comment on any line of a diff and send the comments to the agent to fix. **Intelligent Review** asks your chosen model which changed files need a human look, against a review policy you can edit. See [Intelligent review](review).

## Terminal

{{kbd:Ctrl+`}} opens a terminal drawer with tabs, in the project folder.

> [!LIMIT] Your terminal is yours
> Commands you type in the terminal are not checked by your rules, and aren't sandboxed. Rules apply to the agent's actions, not yours.

## Browser

The **Browser** view is a built-in browser beside the chat: back, forward, reload, find, full screen, and **Screenshot** (*capture the page and send it to the chat*). The agent can read and test pages in it. Running scripts in the page asks you first under every rule set except Hardened, where it is blocked.

## Mission Control

**Mission Control** is the cross-project view, with two tabs:

- **Agents**: every agent that is running, waiting on you, blocked or done, across chats and runs.
- **Factory**: the [Software Factory](factory), from idea to production.

Its **Needs you** strip collects everything waiting on a person. The bell in the header is the **notifications inbox**: chats finished or waiting, approvals, automation results, Factory events, and GitHub activity (reviews requested, mentions, CI).

## Pull requests

A project's **Pull requests** tab lists its open PRs. A PR opens on its **Walkthrough** (see [Intelligent review](review)), with **All files** and **Checks & activity** beside it. **Review with agent** reviews it line by line on a model you pick, and you can post **Comment**, **Approve** or **Request changes** to GitHub as the project's GitHub account.
