Factory Droid,with a canvas around it
Run Droid in as many cards as you need, each with a real terminal. Its own hooks tell NeuroSquad when it works, asks or finishes; arrows hand it terminals, browsers and notes; and a card can run on an OpenRouter model with no Factory login at all.
Official sitefactory.com- The real
droidCLI - Nothing written to
~/.factory - Free, for Windows 10 and 11
It knows when Droid is done — and when it’s asking
Droid runs Claude-compatible hooks. Each card gives it three of them in a runtime settings file, and they report every turn to NeuroSquad.
UserPromptSubmithookYou press Enter (UserPromptSubmit). The card’s icon spins, the Squad status card counts it as working, and a waiting toast is taken down.
NotificationhookDroid stops for permission. Its own message is generic, so the card reads the pending tool call from Droid’s session log — “Execute — rm -rf dist”. It stays until you answer.
StophookThe turn is over (Stop). The next queued prompt goes out, the journal gets the answer, and a toast says it’s done. Escape-cancelled turns close too.
Click, and you’re there
A toast click switches to the workspace, flies the camera to that card and flashes it — even among dozens of agents.
Its questions count too
When Droid asks you something with its AskUser tool, the card waits with the question itself as the detail.
Your hooks stay yours
Droid adds up hooks from every settings level, so the hooks you set up still run next to NeuroSquad’s.
Three things you’ll do with Droid
Replicas of the app, played step by step. When Droid asks for permission, the answer is yours.
Droid fixes a failing test, stops for permission before deleting a folder — the card shows exactly which command — and finishes. The journal writes itself.
Everything Factory Droid can do in NeuroSquad
Droid gets nearly everything Claude Code does — through its own hooks and a runtime settings file. Here is all of it, with a docs page for each.
- 01
Knows its state
Droid’s own hooks report every turn, so nothing is guessed.
Finished and waiting are different
Each card gets Droid’s
Docs: Finished and waiting are differentUserPromptSubmit,NotificationandStophooks in a runtime--settingsfile — Droid’s own level for “this process only”, merged over yours.A notification that says what it needs
Droid’s permission message is generic, so the toast shows the pending call from its session log: “Droid needs your permission: Execute — rm -rf dist”. A click flies to the card.
Docs: A notification that says what it needsEvery card keeps its session
Droid picks its own session id; the hooks report it and the next launch runs
Docs: Every card keeps its sessiondroid --resume <id>. If Droid no longer has that session, the card quietly starts a new one.The Squad status card
Every AI agent of the workspace on one card, with its model from the usage records or your Droid default, and the live time of its turn.
Docs: The Squad status cardCustom cards can follow it
Cards built with the Card SDK see the same statuses and turn events, and read Droid’s answers from its session log.
Docs: Custom cards can follow it
- 02
Works through the canvas
An arrow from the card is a set of tools. Draw it, and Droid can use what is at the other end.
Arrows are tools
An arrow to a browser, terminal, note or another agent gives Droid
Docs: Arrows are toolsneurosquad___browser_*,terminal_*,note_*oragent_*— live, in its next turn. A hook pre-approves them: the arrow you drew is the consent.It can add cards itself
Docs: It can add cards itselfcanvas_spawn_cardopens a terminal, a browser, a note or a helper agent — another Droid included — next to it, already joined by an arrow.- Built by NeuroSquad
Canvas mode that holds
A hook refuses
Docs: Canvas mode that holdsExecute,Script,WebSearchandFetchUrlwith the reason, and points Droid at terminal and browser cards. Hooks decide before autonomy, so--auto highdoes not lift it. MCP servers from the registry
Servers you installed in NeuroSquad reach Droid on a second MCP server with no pre-approval, so Droid asks before every call to them.
Docs: MCP servers from the registrySkills from skills.sh
An arrow to a skill card gives Droid
Docs: Skills from skills.shskill_loadwith each skill and when to use it — live, without a restart.
- 03
Built for long runs
Full contexts and provider limits are handled on the card.
Context meter
The ring fills from Droid’s last call. The window is known for custom models — the OpenRouter recipe writes it in — but Factory’s own models keep theirs inside Droid’s binary, so for them the window stays unknown.
Docs: Context meterCompact that confirms itself
Compact sends
Docs: Compact that confirms itself/compressand answers Droid’s “Confirm /compress” with Enter. Droid continues in a new session from the summary, and the card follows it.Continues after a limit
When the provider’s quota runs out, the error lands in Droid’s session and the card shows the limit chip, counts down to the reset and sends “continue” then.
Docs: Continues after a limitPrompt queue
Line up the next messages: each goes out on
Docs: Prompt queueStop. Typing while Droid works steers the current turn, as in Droid itself.Hand off to a fresh agent
When a session is full, start a new agent beside it — Droid or any other CLI — with a summary of the work typed in, ready for you to send.
Docs: Hand off to a fresh agent
- 04
Works in a team
Several Droid cards — or a mix of CLIs — on one project without stepping on each other.
Isolated worktrees
Give a Droid card its own git worktree, so parallel agents never edit the same files. A setup command and files to copy prepare it before Droid starts.
Docs: Isolated worktreesAdd a reviewer
One click starts an agent on a different CLI in the same worktree, with an arrow from the author and a prompt to review without editing anything.
Docs: Add a reviewerDangerous mode, per card
Starts Droid with
Docs: Dangerous mode, per card--auto high, the highest autonomy its interactive screen takes. Droid’s own hard blocks stay in place.Roles
Reviewer, tester, researcher, architect, writer or your own: the role is typed in as a first prompt you can see and edit.
Docs: RolesJournal
Each finished answer, read from Droid’s session log, is added to a connected note — a running log without asking the agent to keep one.
Docs: Journal
- 05
Cost, control and access
What it spends, what it may spend, which model it runs on, and how you reach it.
Exact usage and cost
Droid keeps running totals per session; NeuroSquad records each scan’s growth, so card totals equal Droid’s own to the token. Subagent sessions count for the parent card.
Docs: Exact usage and costBudget brake
A limit per workspace. Past it, each agent is stopped with Escape — the session is kept — and automatic prompts stop. Raise the limit and it’s lifted.
Docs: Budget brakeOpenRouter, no Factory account
A card can run on any OpenRouter model as a Droid custom model. It runs in Droid’s airgap mode, so no Factory login is needed; the key stays in the card’s environment.
Docs: OpenRouter, no Factory accountDictation into the prompt
Hold a hotkey and speak. Speech is recognised on your machine and typed into the active agent’s prompt.
Docs: Dictation into the promptFrom your phone
Scan a QR code and the whole canvas opens in the phone’s browser: read Droid’s terminal, answer its question, send the next prompt.
Docs: From your phone
Who’s waiting, and what it cost
Two cards that answer the questions you ask most when several Droid sessions run at once.
The Squad status card
Every agent of the workspace with its status, model and turn time. The one waiting on you comes first, with the command it asks about. Tap a status to filter.
invoice-taxFactory DroidSonnet 4.5Droid needs your permission: Execute — rm -rf distNeeds you2:34
api-paginationFactory DroidSonnet 4.5Paginate the orders APIWorking17:49
job-queueFactory Droidqwen/qwen3-coderMove jobs to the new queueWorking5:25
docs-passFactory Droidqwen/qwen3-coderUpdate the READMEFinished3 min. ago
Usage & cost
Read from Droid’s own session files on your disk and matched to the card by session id. The rows always add up to the total.
| Agent | Tokens | Cost | ||
|---|---|---|---|---|
| invoice-tax | 912,406 | $2.14 | ||
| api-pagination | 1,406,218 | $3.39 | ||
| docs-pass | 388,150 | $0.18 | ||
| Total | 114 | 2,706,774 | $5.71 |
The real Droid, plus one settings file
NeuroSquad starts the same `droid` you run yourself, in a real terminal in the card. This is everything it adds:
Nothing written to ~/.factory
The runtime settings file is rewritten for each launch in NeuroSquad’s data folder. Droid itself still records folder trust and its sessions, as always.
Secrets stay out of files
The MCP token and the OpenRouter key are passed as environment variables; the hook’s address lives in a curl config, not in the command Droid shows.
Found where you installed it
The native installer’s droid.exe first, then npm’s — whose Node shim is skipped for the real droid.exe.
Factory Droid in NeuroSquad, answered
Give Droid a canvas
Free for Windows 10 and 11. Your code, your keys and your costs stay on your machine.