Pick a Factory Droid alternative by the boundary you actually hit, not by feature count. Three boundaries send most people looking: Factory's plan fee survives your own API key, custom models reach only the Droid CLI and the desktop app, and every request needs headroom in three independent rolling windows. Each of those points at a different replacement, and one of them is not a reason to leave at all.
Droid is not in trouble, so this is a fit decision. The npm package droid was at 0.223.0 on September 21, 2026, published September 19, with six releases in six days, and the public Factory-AI/factory repository is not archived. The domain move confuses people: factory.com is the canonical marketing host, factory.ai answers a redirect to it, and documentation stayed on docs.factory.ai.
Six reasons people leave, each from Factory's own documentation
| Where you hit the wall | What Factory publishes | Points you at |
|---|---|---|
| My own key did not remove the bill | "BYOK is free up to an allowance on all Individual plans. After that, usage is charged according to your specific plan." The allowance size is published nowhere, and the plan fee is unaffected | opencode, Cline, goose, Crush |
| My key does not reach where I delegate from | Custom models are "available in the Droid CLI and the desktop app" and "don't appear in Factory's hosted web or mobile platforms" | OpenHands |
| I cannot compute what a task costs | 52 per-model multipliers against a Factory Standard Credit, 0.06x to 12x, with no dollar value published for one credit | Any metered endpoint |
| Three rolling windows keep stopping me | 5-hour, 7-day and 30-day windows, each running independently, with headroom needed in all three to send a request; included Standard Usage does not roll over | Codex CLI, opencode |
| I need to self-host or audit the client | npm license field UNLICENSED, no license on the public repository, and on-premise deployment listed as an Enterprise-tier item | opencode, OpenHands, Cline, goose |
| The gateway auth path I need is gated | apiKeyHelper — the documented route for short-lived tokens from an internal gateway — "is only honored from org-managed (trusted) settings" and is stripped from user, project and folder settings | Any client with a plain base-URL override |
Read from Factory's individual-plans page, its BYOK reference and its models list, all checked September 21, 2026. One pairing is misread constantly and is worth stating carefully: the BYOK page's sentence about hosted web and mobile is about custom-model reach, while the FAQ answer on factory.com/pricing — "All products; IDE, Web, CLI, Slack etc are included in all plans" — is about plan access. Both are published and both are true. Factory names the CLI and desktop app as included and hosted web and mobile as excluded; Slack appears in neither sentence, so this page does not claim it either way. The full plan table lives on Factory Droid pricing.
Which alternative answers which exit
| Client | Licence and maintainer, checked September 21, 2026 | Answers | Check before moving |
|---|---|---|---|
| opencode | MIT; repository resolves to anomalyco/opencode, not archived, pushed the same day | Plan fee, credit opacity, CI windows, auditability | MCP config must be rewritten, not copied |
| Cline | Apache-2.0, cline/cline, not archived; its pricing page says the open source extension is "completely free for individual developers" with bring-your-own keys | Plan fee, auditability | Two surfaces to choose between — the editor extension and a separate Cline CLI installed with npm i -g cline |
| goose | Apache-2.0; Block donated it to the Agentic AI Foundation at the Linux Foundation, announced April 7, 2026, and it now lives at aaif-goose/goose | Plan fee, auditability | Old "Block's goose" docs and URLs are stale |
| OpenHands | MIT; repository resolves to OpenHands/OpenHands, not archived; free hosted Individual tier alongside the self-host, bring-your-own key on both | Delegation from a hosted surface on your own key | The hosted tier's daily conversation limit — read it on their plan table rather than from this page |
| Codex CLI | Apache-2.0, openai/codex, not archived | Headless CI, no subscription window | TOML config, and the built-in provider ids openai, ollama and lmstudio are reserved — a custom provider needs its own id |
| Crush | Source-available under FSL-1.1-MIT, charmbracelet/crush, not archived, pushed the same day | Plan fee, credit opacity | FSL is not an OSI licence today, so it does not close an open-source requirement |
Repository state read from the GitHub API and the licence from each project's own LICENSE file on September 21, 2026. GitHub's detector reports Crush as NOASSERTION, which is a tooling artefact rather than a claim that it is unlicensed — its LICENSE.md is explicit. Two clients frequently suggested as destinations are not recommended here: Continue's releases stopped at June 19, 2026 after the Cursor acquisition, and Aider's last commit is May 22, 2026 with its last PyPI release dated February 12, 2026. Neither repository is archived, which is why the dates rather than the word "dead" are the honest description. Aider alternatives covers that project's own successors.
Say the trade out loud before you move. Leaving takes Droid Core — the free open-weight model pool with its own separate rate limits that catches you after Standard Usage runs out — along with Factory Router (shown in some surfaces as Auto Model), Missions, and the hosted web, mobile and Slack delegation surfaces. Factory Router is easy to misread as a bring-your-own-gateway feature; it routes across Factory's own billed models, which is the opposite. None of that comes with you.
What migrates, what gets rewritten, what stays behind
| Asset | Cost to move | Detail |
|---|---|---|
| Project instructions | Free | Droid reads AGENTS.md, agents.md, Agents.md, CLAUDE.md and Claude.md; opencode reads AGENTS.md with CLAUDE.md as a fallback. The same file works in both, unconverted |
| MCP servers → Claude Code | Copy | Both use the top-level mcpServers key and the fields type, command, args, env, url and headers. Droid-only fields — disabled, disabledTools, connectTimeout — are absent from Claude Code's documented field list and are dropped |
| MCP servers → opencode or Codex | Rewrite | opencode uses the key mcp, types local/remote, an array command and environment; Codex uses TOML [mcp_servers.<id>] in ~/.codex/config.toml |
| The endpoint configuration | Re-declare by hand | Droid's customModels array in ~/.factory/settings.json has no counterpart schema in any client named on this page, and no converter for it was found. Each target client declares its base URL and key its own way |
| Slash commands, skills, subagents | Rebuild | Droid's custom commands live in .factory/commands/* and have no cross-client equivalent |
| Session history | Does not move | Factory documents --resume, --fork, droid search, /archive and /copy, but no export format and no on-disk session path. No import path from Droid sessions was found in the target clients' own docs |
The MCP rewrite is the step that bites, because the two files look similar enough to copy and then fail quietly. The key, the type vocabulary and the shape of command all differ:
// Droid — ~/.factory/mcp.json or .factory/mcp.json
{
"mcpServers": {
"my-server": {
"type": "stdio",
"command": "npx",
"args": ["-y", "my-mcp-command"],
"env": { "MY_ENV_VAR": "value" }
}
}
}
// opencode — opencode.json. Different key, different type words,
// and "command" is an ARRAY that swallows the args.
{
"mcp": {
"my-server": {
"type": "local",
"command": ["npx", "-y", "my-mcp-command"],
"enabled": true,
"environment": { "MY_ENV_VAR": "value" }
}
}
}Kunavo serves no embedding model, so if your destination client indexes a repository with embeddings, that step needs a separate provider — it is not part of a gateway key. Sources: Droid's MCP page, its instruction-file page, Claude Code's MCP docs, opencode's MCP docs and Codex's config reference, checked September 21, 2026. Codex's documentation moved: developers.openai.com/codex answers a redirect to learn.chatgpt.com.
A worked estimate for the endpoint side
Factory's own figures cannot produce a comparable number, because the Standard Credit has no published dollar value. So this prices only the part a move changes — the tokens your new client sends — and leaves the plan fee you drop as a published figure you can add yourself. Assume one working day of agent use at 1,200,000 uncached input tokens and 80,000 output tokens, and 20 such days in a month. Those assumptions are invented for illustration, not measured. Rates are live Kunavo catalog prices per million tokens.
| Model | Input / output per 1M | Estimated day | Estimated 20-day month |
|---|---|---|---|
| Claude Haiku 4.5 | $0.40 / $2.00 | $0.64 | $12.80 |
| Gemini 3.8 Flash | $0.525 / $2.625 | $0.84 | $16.80 |
| GPT-5.6 Terra | $0.70 / $4.20 | $1.18 | $23.52 |
| Claude Sonnet 5 | $2.00 / $10.00 | $3.20 | $64.00 |
This is illustrative token arithmetic, not a measured task cost and not a bill ceiling. Under these assumptions model choice alone moves the modeled month by a factor of 5.0: Claude Haiku 4.5 lands at $12.80 against $64.00 for Claude Sonnet 5 on the identical token shape. Whether that beats a subscription depends entirely on your own volume, and only your own token counts settle it — a heavy month on a metered endpoint can cost more than a flat plan, which is the case the plan is for.
Keep the two questions apart as well. The cheapest listed rate and the lowest cost to finish a task are different claims: a cheaper model that needs three attempts can cost more than a dearer one that needs a single pass. AI cost optimization covers measuring that on your own repository. Kunavo's catalog amount is a billing floor rather than a cap — when the upstream reports its charge, the bill is the greater of catalog cost and upstream cost times the applicable markup. Cache charges and external tools sit outside this example, and the minimum top-up is $10 in prepaid credit, which is a funding minimum rather than a subscription; see billing details.
Move in five steps, and keep the way back open
Copy the instruction file first — there is nothing to convert. Re-declare your endpoint in the new client's own format. Rewrite or copy the MCP block per the table above. Rebuild any slash commands as whatever the target calls them, and accept that session history stays behind. Then run the same bounded task on both setups for one billing period and read the charge each side recorded.
The rollback is cheap if you plan for it: leave Droid installed and ~/.factory/settings.json untouched while you trial the replacement. Two billing details shape the timing, and Factory states both in the same FAQ answer: "Standard Usage does not roll over month to month. Extra Usage that you purchase does roll over." Extra Usage is also prepaid with a $10 minimum and carries no expiration, so a balance you bought survives the decision (Factory's individual-plans page, September 21, 2026).
If the boundary you hit was the plan fee rather than the client, the cheaper move may be no move at all: Droid takes a custom endpoint through three provider values, and the Factory Droid setup page has the JSON. Factory qualifies that route itself — "Only Anthropic and OpenAI models accessed via their official APIs are fully tested and benchmarked" — and notes that prompt caching on a generic Chat Completions endpoint "varies by provider and cannot be guaranteed". Those are Factory's caveats about custom endpoints in general, and they apply here. If you are moving, start at opencode, OpenHands, Cline, goose, Crush or Codex CLI, and create a Kunavo account when you are ready to fund a key. For the head-to-head against Anthropic's client, see Factory Droid vs Claude Code.
FAQ
What is the best Factory Droid alternative?
There is no single answer, because the alternatives fix different boundaries. If your reason for leaving is that Factory's plan fee survives your own API key, opencode (MIT), Cline (Apache-2.0) and goose (Apache-2.0, now a Linux Foundation AAIF project) are free to an individual developer bringing their own key — Cline's own pricing page calls its open source extension "completely free for individual developers", and opencode and goose publish no fee for the client at all. If your reason is that Factory's custom models reach only the Droid CLI and the desktop app and not its hosted web or mobile platforms, OpenHands is the one checked here that keeps a hosted surface while the key stays yours — MIT self-host or a free Individual hosted tier, bring-your-own-key on both. If your reason is headless CI without a subscription window, Codex CLI (Apache-2.0) and opencode both take a custom base URL from a config file. All repository states read from the GitHub API on September 21, 2026.
Is there a free Factory Droid alternative?
The client can be free; the inference is not. opencode is MIT, Cline's extension is free for individual developers on its own pricing page, goose is Apache-2.0, OpenHands has both an MIT self-host and a free hosted Individual tier, and Codex CLI is Apache-2.0 (all checked September 21, 2026). Crush is a free download but source-available under FSL-1.1-MIT rather than an OSI open-source licence. In every case you still pay whichever model endpoint you point the client at, so compare the token bill rather than the download price.
Does bringing my own API key remove the Factory Droid subscription?
No. Factory's individual-plans documentation says "BYOK is free up to an allowance on all Individual plans. After that, usage is charged according to your specific plan" (checked September 21, 2026), and the plan fee itself is unaffected by your key. The size of that free allowance is not published in the BYOK page, the individual-plans page, the models page or the pricing FAQ, so there is no way to work out when you cross it before you do. Factory also does not publish the dollar value of one Factory Standard Credit, which is why its own figures cannot be turned into a per-task cost.
Will my Droid configuration move to another agent?
Partly, and the split is predictable. Project instructions move for free: Droid reads AGENTS.md, agents.md, Agents.md, CLAUDE.md and Claude.md, and opencode reads AGENTS.md with CLAUDE.md as a fallback, so the same file works in both with no conversion. MCP servers copy across to Claude Code, which uses the same top-level mcpServers key and the same command/args/env/url/headers fields, though Droid-only fields such as disabled, disabledTools and connectTimeout are absent from Claude Code's own documented field list and are dropped. MCP servers must be rewritten for opencode (top-level key mcp, type local or remote, command as an array, environment for env vars) and for Codex CLI (TOML blocks in ~/.codex/config.toml). The endpoint configuration itself does not move: Droid's customModels array has no counterpart schema in any other client, so each target re-declares the base URL and key its own way.
Can I export my Factory Droid session history?
No export format is documented. Factory's CLI reference documents resuming a session with --resume, forking one with --fork, searching local sessions with droid search, archiving with /archive and copying prompts, responses, turn ranges or a session id with /copy — but no bulk export command and no on-disk session path, with only ~/.factory/worktrees given a path (checked September 21, 2026). No import path from Droid sessions turned up in the documentation of the clients named on this page either. Treat history as something that stays behind, which is a reason to overlap the two setups rather than cut over in one step.
Is Factory Droid being discontinued?
No. On September 21, 2026 the npm package droid was at 0.223.0, published September 19, 2026, with six releases in the six days from September 14 to September 19, and the public Factory-AI/factory repository was not archived. Factory's own news index carries a September 18, 2026 post on private-VPC, on-premises and air-gapped deployment. The domain moved rather than lapsed: factory.ai answers a 307 redirect to factory.com, which is the canonical marketing host, while documentation stayed on docs.factory.ai. Leaving Droid in 2026 is a fit decision, not a rescue.
Should I move to Continue or Aider instead?
Neither is a current recommendation. Continue was acquired by Cursor — continue.dev's own page title reads "Continue (acquired by Cursor)" — and its release list stops on June 19, 2026, at the tags v2.1.0-vscode and v2.0.0-vscode, with the last commits on its default branch dated July 21, 2026 and one of them titled "docs: remove Sign in link (login flow retired)". The repository is not archived, so "acquired, releases stopped" is the accurate description rather than "archived". Aider is Apache-2.0 and also not archived, but its last commit is May 22, 2026 and its last PyPI release is 0.86.2 from February 12, 2026. Both checked September 21, 2026. Naming them with those dates is fair; migrating onto them as a fresh choice is not.
Factory's pricing, BYOK, models, MCP and CLI documentation, the npm registry entry for droid, and the GitHub API state of opencode, Cline, goose, OpenHands, Codex CLI, Crush, Aider and Continue were all read on September 21, 2026; Continue's dormancy was confirmed against its default-branch commit list rather than its pushed_at timestamp. No client on this page was runtime tested against Kunavo, including Droid itself, and Kunavo token rates come from the live catalog while every dollar example is illustrative arithmetic.