Interaction Modes

Choose Normal, Spec, or Mission Mode, then set Autonomy Level for how much Droid can do without approval.

Interaction Modes set the shape of a session. Normal Mode works directly, Spec Mode plans before implementation, and Mission Mode coordinates larger work with an orchestrator.

Autonomy Level is separate. It controls which actions Droid can run without pausing for approval. Some CLI and IDE surfaces combine the labels as Auto (Off), Auto (Low), Auto (Medium), or Auto (High), which means Normal Mode plus the selected Autonomy Level.

Choose a mode

ModeUse it whenWhat Droid can doHow to enter
Normal ModeYou want Droid to answer, edit, run commands, or implement now.Uses the enabled tools for the session. Approval prompts are governed by Autonomy Level, command policy, sandbox rules, and org controls.Default mode. Select Normal Mode from the mode menu, or press Shift+Tab from Spec Mode in the CLI.
Spec ModeYou want Droid to investigate and propose a plan before any code changes.Uses read-only planning behavior, then calls ExitSpecMode to ask for approval.Select Spec Mode, press Shift+Tab from Normal Mode in the CLI, or start with --use-spec.
Mission ModeYou want Droid to coordinate a larger effort with worker agents and validation.Runs a mission orchestrator session with Mission Control. Mission workers use their own configured model and autonomy settings.Start from the Missions workflow, or use droid exec --mission --auto high.
Note

In the CLI, Shift+Tab toggles between Normal Mode and Spec Mode. Mission Mode is not part of the Shift+Tab cycle.

Set Autonomy Level separately

Autonomy Level applies in Normal Mode and after you approve a Spec Mode plan.

Autonomy LevelWhat can run without approval
OffBuilt-in read tools and allowlisted commands. Other actions ask first.
LowFile edits plus low-risk commands and MCP tools.
MediumEverything in Low plus reversible workspace changes such as installs, builds, and local commits.
HighHigh-risk actions, unless a blocklist, denylist, sandbox rule, or org control requires a stop or prompt.

Press Ctrl+L in the CLI to cycle Off → Low → Medium → High → Off. Organization policy can cap the highest available level. See Autonomy Level for the full approval model.

Use Spec Mode

Spec Mode is for research and planning before implementation. Use it for architecture changes, migrations, security-sensitive work, or any task where you want to review the plan before Droid edits files.

  1. 1
    Enter Spec Mode

    Select Spec Mode from the mode menu, press Shift+Tab in the CLI, or start a session with --use-spec.

  2. 2
    Describe the outcome

    Explain what should change, the constraints that matter, and how Droid should verify the work.

  3. 3
    Review the plan

    Droid researches the repo, reads relevant files, and proposes a concrete implementation plan.

  4. 4
    Approve or keep iterating

    Approve the plan to return to Normal Mode for implementation, choose a higher Autonomy Level for implementation, or keep iterating in Spec Mode.

During Spec Mode, Droid should not edit files, change configuration, make commits, start services, or write to external systems. It can read files, search the repo, inspect linked artifacts, and ask clarifying questions.

Make the request specific

Include the outcome, constraints, verification steps, and relevant existing patterns:

Users need to reset passwords using email verification.
The reset link should expire after 24 hours.
Include rate limiting and tests for invalid or expired links.
Follow the background job pattern used by report generation.

After the plan

After Droid proposes a plan, choose one of the approval options: proceed with manual approvals, proceed with Low/Medium/High Autonomy Level, or keep iterating on the spec. Organization Maximum Autonomy Level can hide higher approval options.

Use Mission Mode for orchestrated work

Mission Mode is for multi-step work that benefits from orchestration, worker agents, validation, and progress tracking. Use Mission Mode when a task is too large for a single linear session, or when you want explicit validation milestones.

Mission Mode is not a planning toggle. Starting a Mission upgrades the session into an orchestrator workflow, and Mission workers run with the model, reasoning, and autonomy settings configured for Missions. See Factory Missions.

Change controls and defaults

  • Press Shift+Tab to switch between Normal Mode and Spec Mode.
  • Press Ctrl+L to cycle Autonomy Level.
  • Use /settings to change session defaults.
  • Use /model and the Spec Mode model setting when planning should use a different model.
  • In the Factory App, use the mode selector for Normal Mode, Spec Mode, or Mission Mode, and the Autonomy selector for Auto Off, Auto Low, Auto Medium, or Auto High.
Bash
droid --use-spec
droid --auto medium
droid exec --use-spec "Plan the migration, then ask for approval"
droid exec --auto high "Run the approved release checklist"
droid exec --mission --auto high "Coordinate the migration"

Set defaults in settings.json:

JSON
{
  "sessionDefaultSettings": {
    "interactionMode": "spec",
    "autonomyLevel": "low",
    "specModeModel": "<model-id>",
    "specModeReasoningEffort": "high"
  }
}

Use:

  • sessionDefaultSettings.interactionMode: auto for Normal Mode or spec for Spec Mode.
  • sessionDefaultSettings.autonomyLevel: off, low, medium, or high.
  • sessionDefaultSettings.specModeModel: optional planning model for Spec Mode.
  • sessionDefaultSettings.specModeReasoningEffort: optional reasoning effort for the Spec Mode model.
  • sessionDefaultSettings.autonomyMode: deprecated legacy field. Prefer interactionMode plus autonomyLevel.

Enterprise administrators can set maxAutonomyLevel to cap available autonomy. See Enterprise Controls & Managed Settings.

Save Spec Mode plans

Spec Mode can save approved plans as Markdown. Open the CLI settings and enable Save spec as Markdown.

  • By default, plans are saved to .factory/docs inside the nearest project-level .factory directory. If none exists, the CLI falls back to ~/.factory/docs.
  • Use Spec save directory to choose a project directory, your home directory, or a custom path.
  • Custom values support absolute paths, ~ expansion, .factory/... shortcuts, and relative paths from the current workspace.
  • Files are named YYYY-MM-DD-slug.md, with a counter appended when needed.