Chat modes & thinking depth
Choose what the butler may do, then choose how much reasoning effort to request.
Choose a mode for the next message
| Visible mode | Use it for | Tool boundary |
|---|---|---|
| Agent | Perform tasks, create outputs, or answer directly | Enabled tools may be used, subject to security checks. The UI stores this as code; the core also accepts agent. |
| Plan | Inspect and research before implementation | Includes normal retrieval tools plus read_file, list_sandbox_files, and list_artifacts. Execution and writes are excluded. |
| Chat Only | Questions and explanations | A limited allowlist includes search, knowledge retrieval, voice, and reasoning records. File writes and command execution are excluded. |
The selector is saved per session. Changes apply to the next message. Unknown connector tools are excluded in the read-only modes, even if a connector describes itself as read-only.
Choose thinking depth
The thinking controls request a reasoning budget and set the application’s tool-loop limit. Provider support determines how the reasoning budget is handled; this is not a promise of identical reasoning or latency across models.
| Preset | Configured reasoning budget | Maximum tool iterations |
|---|---|---|
| Off | 0 tokens | 10 |
| Low | 1,024 tokens | 15 |
| Medium | 4,096 tokens | 25 |
| High | 12,288 tokens | 40 |
| Max | 32,768 tokens | 60 |
Use a lower preset for a short question and a higher one for a multi-step task. Raising the preset does not grant additional permissions. The context badge reports conversation usage; it is different from the requested reasoning budget.
Verify the boundary
- In Plan, ask for a plan to create a report. Confirm it proposes the steps without writing the report.
- Switch to Agent and ask it to carry out that plan.
- Inspect the tool results and the resulting artifact, and use Stop or Escape if you want to interrupt.
Implementation sources
Paths in your AI Plate source checkout:
core/chat-mode.tscore/config.tscore/orchestrator.tsui/app.jstests/chat-mode.test.ts
