Skip to main content

Accessing settings

To configure droid settings:
  1. Run droid
  2. Enter /settings
  3. Adjust your preferences interactively
Changes take effect immediately and are saved to your settings file.

Where settings live

OSLocation
macOS / Linux~/.factory/settings.json
Windows%USERPROFILE%\.factory\settings.json
If the file doesn’t exist, it’s created with defaults the first time you run droid.

Available settings

SettingOptionsDefaultDescription
modelsonnet, opus, GPT-5, gpt-5-codex, haiku, droid-core, custom-modelsonnetThe default AI model used by droid
reasoningEffortoff, none, low, medium, high (availability depends on the model)Model-dependent defaultControls how much structured thinking the model performs.
autonomyLevelnormal, spec, auto-low, auto-medium, auto-highnormalSets the default autonomy mode when starting droid.
cloudSessionSynctrue, falsetrueMirror CLI sessions to Factory web.
diffModegithub, unifiedgithubChoose between split GitHub-style diffs and a single-column view.
completionSoundoff, belloffAudio cue when a response finishes.
commandAllowlistArray of commandsSafe defaults providedCommands that run without extra confirmation.
commandDenylistArray of commandsRestrictive defaults providedCommands that always require confirmation.
includeCoAuthoredByDroidtrue, falsetrueAutomatically append the Droid co-author trailer to commits.
enableDroidShieldtrue, falsetrueEnable secret scanning and git guardrails.
specSaveEnabledtrue, falsefalsePersist spec outputs to disk.
specSaveDirFile path.factory/docsDirectory used when specSaveEnabled is true.
enableCustomDroidstrue, falsefalseToggle the experimental Custom Droids feature.

Model

Choose the default AI model that powers your droid:
  • sonnet - Claude Sonnet 4.5 (recommended, current default)
  • opus - Claude Opus 4.1 for complex tasks
  • GPT-5 - Latest OpenAI model
  • gpt-5-codex - Advanced coding-focused model
  • haiku - Claude Haiku 4.5, fast and cost-effective
  • droid-core - GLM-4.6 open-source model
  • custom-model - Your own configured model via BYOK
You can also add custom models and BYOK.

Reasoning effort

reasoningEffort adjusts how much structured thinking the model performs before replying. Available values depend on the model, but typically include:
  • off / none – disable structured reasoning (fastest).
  • low, medium, high – progressively increase deliberation time for more complex reasoning.
Anthropic models default to off, while GPT-5 starts on medium.

Autonomy level

autonomyLevel controls how proactively droid executes commands when sessions begin. Start at normal, or select an auto-* preset to pre-authorize additional actions.

Diff mode

Control how droid displays code changes:
  • github – Side-by-side, higher fidelity render (recommended).
  • unified – Traditional single-column diff format.

Cloud session sync

When this switch is on, every CLI session is mirrored to Factory web so you can revisit conversations in the browser:
  • true – Sync sessions to the web app.
  • false – Keep sessions local only.

Sound notifications

Configure audio feedback when droid completes a response:
  • bell – Use the system terminal bell
  • off – No sound notifications
Access sound settings via /settings or Shift+TabSettings in the TUI.

Command allowlist & denylist

Use these settings to control which commands droid can execute automatically and which it must never run:
  • commandAllowlist – Commands in this array are treated as safe and run without additional confirmation, regardless of autonomy prompts. Include only low-risk utilities you rely on frequently (for example ls, pwd, dir).
  • commandDenylist – Commands in this array always require confirmation and are typically blocked because they are destructive or unsafe (for example recursive rm, mkfs, or privileged system operations).
Commands that appear in both lists default to the denylist behavior. Any command that is in neither list falls back to the autonomy level you selected for the session.

Example allow/deny configuration

{
  "commandAllowlist": [
    "ls",
    "pwd",
    "dir"
  ],
  "commandDenylist": [
    "rm -rf /",
    "mkfs",
    "shutdown"
  ]
}
Review and update these arrays periodically to match your workflow and security posture, especially when sharing configurations across teams.

Example configuration

{
  "model": "sonnet",
  "reasoningEffort": "low",
  "diffMode": "github",
  "cloudSessionSync": true,
  "completionSound": "bell"
}

Need more?