Factory Droid: the agent from specification to pull request

Droid is Factory’s software engineering agent. It can pair with a developer in a terminal, execute a scripted CI task, continue on a remote persistent computer, or coordinate specialist agents inside a Mission. The common unit is a stateful agent session that reads context, uses tools, and returns reviewable engineering work.

By the Continuum team. We build a workbench that runs Claude Code, Codex, and their peers, so the model rates quoted here are the ones our own cost analytics ship with.

The short version

Factory Droid is an autonomous software engineering agent that runs across terminal, desktop, browser, IDE, chat, CI, and remote computer interfaces. It accepts a goal, gathers repository and integration context, chooses a supported model, plans, edits, executes tools, runs checks, and can prepare a pull request. Specification Mode creates a read-only planning gate. Autonomy levels control which actions proceed without approval. Droid Computers add persistent managed or customer-owned environments. Custom Droids provide specialized subagents, and Missions coordinate multiple workers and validators for larger projects.

What you need to know
  • Droid is a harness rather than one fixed model. Factory can run supported models from several providers through a common tool and policy layer.
  • The terminal product is first-class. droid is interactive; droid exec supports headless automation and structured protocols.
  • Specification Mode is a separate interaction mode that inspects and plans before implementation begins.
  • Autonomy is risk-tiered. Off, Low, Medium, and High decide which tools and commands can run without interruption.
  • Droid Computers persist across sessions and can be Factory-managed or supplied by the customer.
  • Missions scale one task into coordinated agent work with worker and validator models, milestones, and a larger review surface.

Droid in one sentence

A Factory Droid is an AI agent that performs software engineering work through a loop of context gathering, planning, tool use, observation, revision, and delivery. It can answer a codebase question in one turn or spend a long session changing files and running tests. The agent is produced by Factory and delivered through several interfaces.

The name used to describe a family of purpose-specific Droids such as Code, Review, Test, Knowledge, Project, and Document. The current product presents Droid as a broad software development agent and lets users add custom Droids, skills, plugins, review workflows, and Missions. Older articles that imply six isolated products describe an earlier packaging state.

LayerDroid responsibility
ModelGenerate reasoning, decisions, code, and language output
HarnessBuild context, expose tools, execute the loop, compact history, and recover from failures
PolicyApply autonomy levels, permissions, tool restrictions, hooks, and organization controls
EnvironmentOperate in the local checkout, CI runner, managed computer, or customer machine
InterfacePresent the same work through terminal, desktop, web, IDE, chat, tickets, or API
DeliveryReturn a diff, report, test evidence, commit, review comment, or pull request

Calling Droid a wrapper understates the harness. Calling it a model overstates Factory’s ownership of the weights. The useful description is a model-independent engineering agent platform: Factory controls the agent design and can route among model providers.

The execution loop

01

Interpret the task

Droid identifies the requested outcome, constraints, relevant repository, expected checks, and missing decisions. A ticket, design document, or integrated service can supply context.

02

Inspect the environment

The harness collects system and repository information, searches files, reads instructions, examines git state, and discovers available tools before acting.

03

Maintain a plan

For larger work, Droid records steps and updates progress. In Specification Mode it creates a complete proposal while source writes remain blocked.

04

Use tools

The agent reads and patches files, executes approved commands, uses MCP or integration tools, starts processes, and can delegate to custom Droids.

05

Observe results

Compiler output, tests, diffs, tool errors, and reviewer feedback become the next input to the trajectory.

06

Deliver and explain

Droid summarizes changes, records verification, and can use git and SCM tools to prepare a branch, commit, review, or pull request.

Factory’s published terminal benchmark analysis argues that this harness layer matters independently of the model. It describes model-specific prompting, simple tool schemas, environment bootstrapping, short default timeouts, explicit plan updates, runtime signals, and controlled long-running processes. These design details can reduce tool errors and wasted turns.

The loop is still probabilistic. Droid can choose the wrong file, accept a misleading test, misunderstand product intent, or spend many turns on an environment failure. A strong task gives it a clean branch, narrow outcome, relevant paths, explicit non-goals, deterministic checks, and a clear stop condition.

The Droid CLI and Desktop

The Droid CLI is the most direct surface. Run droid in a project to open the full-screen terminal interface. It shows the current interaction mode, autonomy level, model, MCP state, transcript, tool proposals, and diff approvals. Slash commands switch models, inspect sessions, compress context, start reviews, manage Missions, configure custom Droids, add skills, inspect hooks, and connect MCP servers.

Factory Desktop exposes the same agent concepts through a native application. It can run against local context and can register the host as a remote-access computer while the app remains active. The desktop and CLI share modes and autonomy concepts, which reduces the behavioral gap between an interactive graphical session and a terminal session.

NeedUse
Pair actively while reading every stepdroid interactive session
Start with a question already filled indroid "query"
Resume a previous conversationdroid --resume or /sessions
Explore without source changesSpecification Mode or read-only Droid Exec
Run a repeatable task in automationdroid exec
Control local sessions through a graphical surfaceFactory Desktop

Bash mode is available from an empty prompt with !, sending commands directly to the shell without model interpretation. That is convenient for checking git state or running a known command between agent turns. The transcript view keeps full tool details available even when the default presentation is compact.

Droid Exec for automation

Droid Exec turns the agent into a non-interactive process. A prompt can come from an argument, a file, or stdin. The command can return plain text, a JSON result, a stream of JSON events, or a JSON-RPC protocol suitable for a custom client. Sessions can be resumed or forked, a working directory can be selected, and tools can be restricted for one run.

droid exec "summarize src/auth"

droid exec --use-spec --auto low "add account deletion"

droid exec -f review-prompt.md -o json

git diff origin/main...HEAD | droid exec "review for regressions"

droid exec --cwd ../service --auto medium "run tests and fix failures"

droid exec --mission --auto high -f migration-mission.md

The default Droid Exec posture is read-only. Low allows safe edits and low-risk commands. Medium covers local development work such as dependency installation, builds, tests, and local commits. High covers pushes, deployment scripts, long-running operations, subagent orchestration, and Missions under the configured policy. If an action exceeds the selected level, current documentation says Droid Exec fails fast with a nonzero exit and no partial changes from that denied request.

For unattended authentication, generate a Factory API key and expose it through FACTORY_API_KEY in the job’s secret store. Avoid placing it in the repository or command history. The process uses exit code 0 for success, 1 for a general runtime error, and 2 for invalid CLI arguments.

Specification Mode: plan before source changes

Specification Mode changes the interaction contract. Droid can explore the repository, integrations, and requirements, then writes a detailed specification and implementation plan. Source changes wait until a person approves. The mode is activated with Shift+Tab interactively or --use-spec in Droid Exec.

  • Acceptance criteria define visible success and failure behavior.
  • Technical plan names components, dependencies, interfaces, and sequencing.
  • File-level outline makes scope and ownership reviewable before a broad patch appears.
  • Testing strategy states which focused and integration checks should prove the change.
  • Security and compliance considerations surface sensitive data, permissions, or operational effects early.

Approval can keep manual control or choose an autonomy level for implementation. A team can save approved specs as Markdown in a project, user, or custom .factory/docs directory. This turns the plan into an artifact that can be reviewed in git, referenced by a later session, or sent to a remote execution target.

Autonomy and permissions

Droid separates the interaction mode from the autonomy level. Normal Mode and Specification Mode control whether the agent is executing or planning. Off, Low, Medium, and High define the maximum risk of actions that can proceed without a prompt. A user can cycle autonomy with Ctrl+L; an organization can set a default and cap the maximum.

LevelTypical automatic workUse case
OffRead and inspect; ask for material actionsNew repositories, sensitive work, investigation
LowFile edits, generated reports, low-risk commandsScoped changes under active review
MediumInstall, build, test, and local commitsNormal development in an isolated branch
HighPush, deployment, long operations, subagents, MissionsControlled automation in an isolated environment

The maximum level is only one control. Command allowlists and denylists, MCP restrictions, sandbox settings, hooks, scoped credentials, and organization policy can narrow capabilities further. A tool restriction on a single Droid Exec invocation is useful for jobs that only need repository reads or a known patch interface.

The --skip-permissions-unsafe flag bypasses permission checks. The name is intentionally explicit. It belongs only in an environment designed to be destroyed after the run, with credentials and network access limited outside the agent process. A normal developer checkout is not that environment.

Models, context, and extensions

Droid can use different supported models and can choose a separate model or reasoning effort for Specification Mode. Factory enterprise documentation describes direct providers, Bedrock, Vertex, Azure OpenAI, gateways, approved custom models, and on-premises endpoints. Administrators can define required models and restrict which providers, endpoints, and personal keys are permitted.

Repository context can come from files, AGENTS.md, Factory settings, skills, custom Droids, plugins, MCP servers, and platform integrations. A ticket link or design document can be resolved through an approved integration. Durable organization and repository instructions help the agent follow conventions across sessions. Each added source consumes attention and expands the trust boundary.

ExtensionPurpose
AGENTS.mdRepository-specific build, test, style, and workflow instructions
SkillReusable procedure loaded for a defined kind of task
Custom DroidSpecialized subagent with its own prompt, tools, and model
MCP serverStructured tools for tickets, databases, docs, or other services
PluginPackaged commands, skills, hooks, agents, and supporting assets
HookDeterministic policy or automation around lifecycle and tool events

Keep the base context short and enforce rules close to the capability. A style preference can live in instructions. A forbidden production command belongs in a deny rule or hook. A secret boundary belongs in credentials and network policy. Prompts are guidance; capabilities are controls.

Droid Computers and remote work

Droid Computers give the agent persistent machines it can revisit. Factory-managed computers are provisioned by the platform. Bring Your Own Machine registers an existing VPS, workstation, cloud VM, or on-premises server. Both retain packages, files, running services, and configuration across sessions.

The CLI can list computers, register or remove the current host, open an SSH tunnel, and forward TCP ports through the relay. A managed computer can wake before a connection. VS Code Remote SSH can use droid computer ssh as a proxy, which makes the same persistent target available for manual inspection beside agent work.

  • Use persistence for large dependency trees, integration services, prepared datasets, or long background tasks.
  • Use customer-owned computers when the machine and network boundary should remain under company operation.
  • Use managed computers when fast provisioning and low infrastructure work matter more.
  • Reset deliberately because stale branches, services, caches, databases, and credentials survive into later sessions.

A persistent computer is a production-like asset even when it only builds code. Patch it, monitor it, scope its credentials, control outbound access, rotate secrets, and define who can target it. The agent should never be the only operator capable of explaining the state.

Custom Droids and Missions

Custom Droids are specialized subagents with their own instructions, model, and tool set. A frontend reviewer, migration worker, SQL specialist, or release-note writer can encapsulate a repeated role. They can be invoked from a parent session and inherit or receive a configured autonomy level, capped by organization policy. In Specification Mode they remain read-only.

Missions coordinate a larger goal across workers and validators. Droid creates a plan, delegates milestones, tracks progress, and validates results. Headless Mission flags can select worker and validator models plus reasoning effort independently. The arrangement can reduce time for decomposable work and increase the number of assumptions running concurrently.

Missions require High autonomy or the unsafe permission bypass. Use High in an isolated worktree or dedicated environment with scoped credentials. Reserve the bypass for disposable containers or virtual machines. Plan file ownership, integration order, model budget, stop conditions, and human checkpoints before launching a large Mission.

The specification-to-PR workflow

01

Prepare the repository

Start from a clean branch or isolated worktree. Ensure the documented test and build commands work before the agent changes anything.

02

Write the brief

State the outcome, relevant paths, examples, constraints, non-goals, compatibility requirements, and acceptance checks.

03

Enter Specification Mode

Let Droid research and draft the plan. Correct incorrect repository assumptions and split large work into reviewable phases.

04

Approve the minimum autonomy

Low fits scoped edits; Medium fits builds and local commits; High belongs to isolated orchestration and explicit push or deployment work.

05

Watch evidence

Inspect plan updates, tool errors, tests, and the evolving diff. Interrupt when the trajectory changes scope or relies on a weak assumption.

06

Review the PR as unfamiliar code

Re-run the checks, inspect deletions, validate data and permission boundaries, and merge only after the product intent is proven.

Droid can shorten the distance between a specification and a pull request because one session owns context gathering, implementation, tests, and delivery. The phrase one prompt to PR describes the start and end of that trajectory. The work between them remains visible and should remain reviewable.

A complete handoff should identify the branch, base commit, files changed, checks run, checks skipped, environment assumptions, remaining risks, and any generated or migrated data. That record lets a reviewer judge the result without replaying the full transcript. It also makes a failed Droid session useful: the next attempt can begin from evidence instead of repeating the same exploration. Small, explicit handoffs also make later audits much cheaper.

Questions people ask

Factory Droid is a model-independent software engineering agent. It gathers code and integration context, plans work, edits files, runs commands and tests, and can prepare pull requests through terminal, desktop, cloud, CI, and integration surfaces.

Droid is the agent product. Factory AI is the company and platform around it, including interfaces, models, routing, context, persistent computers, Missions, policy, billing, and enterprise deployment.

Yes. Droid CLI and Factory Desktop operate against local repositories and tools. A local machine can also be registered as a remotely accessible Droid Computer, subject to the documented relay and policy setup.

Yes. Factory supports cloud background work and managed persistent Droid Computers. A customer can also register an owned VPS or cloud VM through Bring Your Own Machine.

Specification Mode lets Droid inspect and plan without changing source. It produces acceptance criteria and an implementation plan, waits for review, then begins implementation only after approval and an autonomy choice.

It can. Factory supports models from multiple providers and lets users or administrators select and govern them. Droid refers to Factory’s harness around the chosen model.

A custom Droid is a specialized subagent with its own instructions, tools, and model. Teams can encode roles such as frontend review, migrations, database work, or release documentation and invoke them from sessions.

A Droid session has one primary agent trajectory and may delegate subagents. A Mission is an orchestrated, longer multi-agent workflow with decomposition, workers, milestones, validators, and dedicated Mission controls.

Sources

Every figure above was read from these pages on August 2026. Vendors reprice without notice; if you find a stale number, tell us.

  1. Factory Droids product page
  2. Factory Droid CLI quickstart
  3. Factory Droid CLI reference
  4. Factory Droid Exec
  5. Factory Specification Mode
  6. Factory Autonomy Level
  7. Factory Droid Computers
  8. Factory Terminal-Bench report
Try it

One task per branch.
Every agent visible.

Continuum coordinates supported agent sessions in isolated worktrees with plans, diffs, pull requests, mobile control, quota gauges, and local spend.

free app · your subscriptions · local-first