| title | Plan & Act Mode |
|---|---|
| sidebarTitle | Plan & Act |
| description | Separate Plan and Act API configurations and response tools in LUMI. |
LUMI uses two modes — plan and act — defined in src/shared/storage/types.ts. Each mode can use a different provider and model (planModeApiProvider, actModeApiProvider in extension state).
| Mode | Response tool | Typical behavior |
|---|---|---|
| Plan | plan_mode_respond |
Exploration, architecture discussion, read-only tools |
| Act | act_mode_respond |
Implementation; mutating tools (write_to_file, execute_command, etc.) |
Handlers: PlanModeRespondHandler, ActModeRespondHandler in src/core/task/tools/handlers/.
Mode can be inferred from message history via inferAgentModeFromMessages (src/shared/inferAgentModeFromMessages.ts). /replan injects a replan prompt (src/core/slash-commands/index.ts).
In LUMI Settings → API Configuration, use the Plan and Act tabs (ApiConfigurationSection.tsx) to set provider, model, and thinking budget independently.
- User describes a goal.
- Agent gathers context with read-only tools (search, read files, project map).
- In Plan mode, agent responds with
plan_mode_respond— strategy without writes. - User approves direction or sends follow-ups; agent transitions to Act mode.
- In Act mode, agent uses mutating tools; each requires approval unless auto-approve matches.
- Agent finishes with
attempt_completion(subject to roadmap and audit gates when enabled).
- Slash
/replan— injects replan instructions (replanToolResponse). - Natural language — "let's rethink this" during idle gaps between turns (
idleGapFeedbackutilities in task loop).
ExecutionFunnel can record automatic approval when the operation's pure intent is eligible and current settings plus execution policy admit every declared capability. Otherwise it prompts and records the explicit decision before issuing a permit. Enterprise docs may refer to broad automation settings as "YOLO mode" — see auto-approve.