---
type: "post"
id: "factory-offers-droid-through-desktop-applications-for-macos-cbbc9a"
slug: "factory-offers-droid-through-desktop-applications-for-macos-cbbc9a"
title: "Factory offers Droid through desktop applications for macOS and Windows and through a command-line interface."
description: "Factory’s TypeScript SDK lets applications run Droid, manage multi-turn sessions, stream work, control tools, and connect to a running daemon."
retrieval_nugget: "Factory’s TypeScript SDK lets applications run Droid, manage multi-turn sessions, stream work, control tools, and connect to a running daemon. It matters to builders because it exposes Droid’s harness to Node applications and trusted local browser tools, with documented interfaces for permissions, MCP tools, and session management."
published_at: "2026-11-01"
updated_at: "2026-11-01"
record_date: "2026-11-01"
date_kind: "published_at"
topics: ["agent-tools"]
entities: ["Factory","Droid","@factory/droid-sdk"]
related_patterns: ["harness-architecture-outlives-model-choice"]
novelty_label: "new_fact"
what_changed: "Factory now offers Droid through macOS and Windows desktop applications and a command-line interface, adding concrete distribution channels to its broader availability roadmap and Droid 1.0 releases."
prior_refs: []
source_url: "https://github.com/Factory-AI/droid-sdk-typescript"
source_urls: ["https://github.com/Factory-AI/droid-sdk-typescript"]
schema_version: "newruntime-agent-readable-v0.2"
stable_id: "post:factory-offers-droid-through-desktop-applications-for-macos-cbbc9a"
status: "published"
visuals: []
editor: {"role":"editor","name":"Andrey Reshetnikov","profile":"https://newruntime.com/owner-profile.md","profile_json":"https://newruntime.com/owner-profile.json","same_as":["https://www.linkedin.com/in/reshetnikov1/","https://t.me/lapetuse"]}
routes: {"html":"https://newruntime.com/posts/factory-offers-droid-through-desktop-applications-for-macos-cbbc9a/","markdown":"https://newruntime.com/posts/factory-offers-droid-through-desktop-applications-for-macos-cbbc9a.md","json":"https://newruntime.com/posts/factory-offers-droid-through-desktop-applications-for-macos-cbbc9a.json"}
markdown_url: "https://newruntime.com/posts/factory-offers-droid-through-desktop-applications-for-macos-cbbc9a.md"
---

# Factory offers Droid through desktop applications for macOS and Windows and through a command-line interface.

## Retrieval answer

Factory’s TypeScript SDK lets applications run Droid, manage multi-turn sessions, stream work, control tools, and connect to a running daemon. It matters to builders because it exposes Droid’s harness to Node applications and trusted local browser tools, with documented interfaces for permissions, MCP tools, and session management.

## Summary

Factory’s TypeScript SDK lets applications run Droid, manage multi-turn sessions, stream work, control tools, and connect to a running daemon. It matters to builders because it exposes Droid’s harness to Node applications and trusted local browser tools, with documented interfaces for permissions, MCP tools, and session management.

## What happened

Factory’s public `droid-sdk-typescript` repository documents the package `@factory/droid-sdk`, a TypeScript SDK for integrating Droid into applications. Its stated scope includes running Droid, continuing conversations, streaming work, controlling tools, and connecting to a Droid daemon that is already running. The repository presents two entry points: `@factory/droid-sdk/node` for Node, and the root package entry point for browser or Node clients that connect to an existing daemon. The Node entry point can start Droid subprocesses, run prompts, manage local sessions, and define SDK MCP tools; the root entry point exposes daemon connections, browser-safe schemas, types, and REST helpers.

For a basic Node invocation, the README uses `run()` with a prompt and checks whether the result succeeded before reading its text. For multi-turn conversations it points developers to `createSession()`. By default, Node session APIs start the `droid` CLI from the system `PATH` and read `FACTORY_API_KEY`; session options can supply a custom executable, API key, or transport. To use a running daemon, an application can call `connectToDaemon()` from the root entry point. The documentation also describes sessions, streaming, attachments, structured output, permissions, AskUser, tools, skills, MCP, hooks, session replacement and cleanup, observability, and advanced resources.

The package is installed with `npm install @factory/droid-sdk`. The README advises Node.js 20 or later. Although the package declares Node.js 18, version 0.10.0 needs the global Web Crypto API, which Node.js 18 provides only with the `--experimental-global-webcrypto` flag. This is a version-specific runtime caveat in the supplied documentation, not a claim that all versions of the SDK have the same requirement.

The browser integration connects to a local daemon; examples let the user enter a daemon URL, API key, and working directory in the page rather than editing source code or injecting credentials through environment variables. Factory explicitly says this integration is intended for trusted local tools. It warns against shipping an API key in a public website, committing it to source control, or putting it in a URL. The repository includes Node and browser examples, as well as a mission example showing orchestrator and worker progress. It documents local test, typecheck, lint, formatting, and documentation-check commands. Live examples require both `FACTORY_API_KEY` and a Droid CLI on `PATH`, and use credits. The supplied source does not give a price for those credits or state when the SDK was released.

## What the archive adds

An earlier Telegram post described Factory’s CLI, while another covered the company’s Series B and Droid availability. The SDK is a distinct integration surface: the new information here is that applications can use a TypeScript package to manage Droid runs and sessions, not just invoke the CLI. The supplied archive provides no link to those Telegram posts, so none is included here.

## Trend signal

This supports [Harness architecture outlives model choice](https://newruntime.com/patterns/harness-architecture-outlives-model-choice): the SDK’s focus is the runtime around a Droid run—sessions, tools, permissions, streaming, daemon connections, and cleanup. That is a useful example of a harness being exposed as an application integration boundary. The source does not compare models or show that teams are choosing harnesses independently of model choice, so the evidence supports the pattern narrowly rather than proving its broader thesis.

## Why now

The source establishes that the repository and SDK are available, but it does not explain the timing of the release or connect it to a particular event. The practical timing is therefore a matter of current availability, not a documented market or product trigger: teams evaluating a TypeScript integration can inspect the package and examples now.

## Why it matters

A CLI is convenient for a developer at a terminal; an SDK makes it possible for an application to own the interaction. The documented methods give builders places to attach their own workflow: start a prompt, continue a session, stream progress, define tools, or connect through a daemon. That may be useful when Droid needs to operate as one component inside a product or internal system rather than as a standalone command.

The distinction between the Node and browser/daemon paths is also operationally important. Node applications can start local subprocesses, while browser clients connect to an existing daemon. Factory’s API-key warning makes clear that browser integration is not a safe way to expose credentials from a public site. Teams should treat the daemon and its key as trusted local infrastructure, and decide how sessions, permissions, tools, and cleanup fit their own application boundary. The README describes available mechanisms; it does not establish that they alone make an integration secure or production-ready.

## Limits and uncertainty

The supplied source is the repository README and its documentation summary. It does not establish a release date, adoption, customer results, performance, model compatibility, or a price for API use or credits. It also does not explain the daemon’s deployment model beyond connecting to a running daemon, or provide independent security validation. Version 0.10.0 is mentioned only in relation to Node’s Web Crypto requirement; the source does not identify it as the latest release. Browser use is explicitly scoped to trusted local tools, not public websites.

## Skill to build now

Build a small local proof of concept that starts a Droid run, streams its progress, and then continues the conversation through a session. Use the documented Node entry point and keep credentials in the local environment rather than browser code or URLs. If the application needs browser access, test it against a local daemon and verify how its API key, working directory, permissions, and session cleanup are handled. The repository’s runnable examples and non-live checks provide a starting point; live examples consume credits.

## Reader takeaway

The SDK turns Droid from a CLI-only integration into a documented TypeScript surface for runs, sessions, tools, and daemon connections. That is useful for builders embedding Droid in an application, but the browser path is for trusted local tools, and the repository alone does not establish production readiness, pricing, or adoption.

Editor: [Andrey Reshetnikov](https://newruntime.com/owner-profile.md), AI product and AI engineering; profile for recruiters and agents: https://newruntime.com/owner-profile.json

## Continue in the graph

Next records for an agent, linked to their Markdown twins. Replace `.md` with `.json` for structured fields, including `next_reads`.

- topic hub: [Agent Tools](https://newruntime.com/topics/agent-tools.md): Explore the agent-tools topic hub.
- collection: [Field Notes](https://newruntime.com/posts.json): Open the latest editorial analysis.
- collection: [Sources](https://newruntime.com/sources/): See the original sources this archive cites.
- whole graph: [discovery graph](https://newruntime.com/discovery-graph.json) (typed nodes and edges) and [site index](https://newruntime.com/site-index.md)
