# App settings

Manage personal session defaults in the Factory App, including default model, reasoning effort, interaction mode, autonomy level, and spec mode overrides.

The Factory App lets you set personal session defaults so every new session starts the way you want. Your choices are **capped by org policy**: if your organization enforces hard controls, your preferences take effect only within the boundaries those controls allow. See [Enterprise Controls & Managed Settings](/enterprise/hierarchical-settings-and-org-control) for the org side.

## Session defaults

Session defaults are applied when a new session starts. 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`.

### Default model

Set `model` to a [model ID from the catalog](/models). This is the model new sessions use unless you pick a different one from the model selector. For custom models, see [Custom Models (BYOK)](/model-independence/byok).

### Reasoning effort

`reasoningEffort` adjusts how much structured thinking the model performs before replying. The available levels and the default are **set by each model**, so the [Available Models](/models) table is the source of truth for what a given model accepts. Across the catalog they range from least to most deliberation:

{/* sweep-allow: term-bullets */}

- **`off` / `none`**: no structured reasoning (fastest).
- **`minimal`**, **`low`**, **`medium`**, **`high`**: progressively more deliberation.
- **`extra high`**, **`max`**: the deepest reasoning, where a model offers it.

### Interaction mode

`sessionDefaultSettings.interactionMode` sets whether new sessions start in **Normal Mode** (`auto`) or **Spec Mode** (`spec`). In the app, the mode selector switches between the two. See [Interaction Modes](/autonomy-and-safety/specification-mode) for what each mode does.

### Autonomy level

`sessionDefaultSettings.autonomyLevel` sets the default [Autonomy Level](/autonomy-and-safety/auto-run) for new sessions: `off` keeps manual approvals; `low`, `medium`, and `high` pre-authorize work at or below that risk level. In the app, the Autonomy selector chooses `Auto Off`, `Auto Low`, `Auto Medium`, or `Auto High`.

### Spec mode overrides

When sessions start in Spec Mode, you can use a different model and reasoning effort for planning:

- `sessionDefaultSettings.specModeModel`: the model used for spec mode planning. See [Models](/models) for available IDs.
- `sessionDefaultSettings.specModeReasoningEffort`: reasoning effort for the spec mode model. Same values as `reasoningEffort`.

### Run in worktree

`sessionDefaultSettings.runInWorktree` controls whether new sessions started against a git repo run in an isolated worktree. When enabled, Droid works in a separate working tree so your main checkout stays untouched.

## Cloud session sync

When `cloudSessionSync` is on, sessions are mirrored to the Factory App so you can revisit conversations from any browser. Your organization can control whether cloud sync is enabled at the org level; see [Enterprise Controls & Managed Settings](/enterprise/hierarchical-settings-and-org-control).

## How your preferences interact with org policy

Your personal defaults are **session defaults**, not hard controls. They use the most-local-wins precedence: your choice overrides an org default, and a runtime override (such as a `--settings` flag or an in-app selector change) overrides your saved default. But org hard controls always cap what you can choose:

- `modelPolicy` (`allowedModelIds`, `blockedModelIds`) decides which models exist at all. You can pick any allowed model, but blocked models are not available.
- `maxAutonomyLevel` caps the effective `autonomyLevel` no matter who set it. If the org sets `medium`, your `high` default is clamped to `medium`.

In short: your org decides the **boundaries**, and you pick your **preferred defaults inside those boundaries**. For the full hierarchy, merge semantics, and org schema, see [Enterprise Controls & Managed Settings](/enterprise/hierarchical-settings-and-org-control).

<RelatedLinks>
  <RelatedLink href='/droid-cli/settings' title='CLI settings reference'>
    Full settings.json reference for the Droid CLI.
  </RelatedLink>
  <RelatedLink href='/enterprise/hierarchical-settings-and-org-control' title='Enterprise Controls & Managed Settings'>
    Org-managed settings hierarchy, merge semantics, and schema.
  </RelatedLink>
  <RelatedLink href='/autonomy-and-safety/specification-mode' title='Interaction Modes'>
    Normal, Spec, and Mission Mode with Autonomy Level.
  </RelatedLink>
  <RelatedLink href='/autonomy-and-safety/auto-run' title='Autonomy Level'>
    How Autonomy Level controls approval prompts.
  </RelatedLink>
</RelatedLinks>
