Dev Tool Experiences
All articles

· 8 min read

After the Project Was Archived: Best Roo Code Alternative

By I. García

  • tools

The best Roo Code alternative after the project was archived is Zoo Code if your priority is keeping the working shape of your setup: VS Code, modes, .roomodes, .roo/rules, provider profiles, MCP servers, and an agent that can still edit and run commands. Roo Code’s repository was archived and made read-only on May 15, 2026; Zoo Code is the community continuation with a documented Roo settings import, so this is a migration rather than a wholesale workflow replacement.

Why Zoo Code Is the Best Roo Code Alternative

Pick Zoo Code when the thing you liked about Roo was not merely “an agent in the editor,” but its operating model: separate Code, Ask, Architect, Debug, and custom modes; tool permissions that differ by mode; project-local rules; and provider choice. Zoo Code retains that vocabulary and file layout. Its docs still describe project modes in .roomodes, rules in .roo/rules-{mode-slug}/, and the older .roorules-{mode-slug} files as a fallback. That means a repository where the team committed agent instructions alongside application code does not need to be translated into a new vendor-specific configuration language on day one.

The official distinction matters. The archived Roo repository itself points users to Zoo Code as a fork started by the Roo community. Zoo Code’s repository says its core team includes prior Roo contributors and explicitly states that it is continuing development after the Roo team wound down work. That is not a guarantee that every future behavior will stay identical, but it is stronger evidence of compatibility than a generic feature-comparison table.

It is also a practical default for people who already split work by risk. Ask mode is read/MCP only; Architect mode can be limited to reading, MCP, and Markdown edits; Code mode has read, edit, command, and MCP access. The mode switch shortcuts remain concrete: /architect, /ask, /debug, /code, and /orchestrator, or Ctrl+. on Windows/Linux and Cmd+. on macOS. You do not have to retrain yourself to use an implementation agent for a question that should have stayed a question.

How to Migrate from Roo Code to Zoo Code

Do the settings transfer before you uninstall Roo, but treat it as a configuration import—not a backup of an active task. In Roo Code, open Settings and choose Export. In Zoo Code, choose Import Settings and select that exported file. Zoo says the import merges settings into the current setup, and its migration guide warns that the export can include sensitive settings, including API keys. Put the export somewhere private, import it once, then delete the exported copy if your team’s secret-handling policy requires it.

  1. Install Zoo Code from the VS Code Extensions view: press Ctrl+Shift+X or Cmd+Shift+X, search for Zoo Code, choose the extension from ZooCodeOrg, and reload the window if prompted.
  2. Export Roo settings while the old extension is still available, then import the file in Zoo Code.
  3. Open one representative repository—not the production monorepo first—and verify the provider, model, MCP servers, global rules, workspace rules, and one custom mode.
  4. Run an intentionally small task: “In src/foo.ts, explain this function; do not edit files.” Then switch to Code mode and ask for one reversible edit with a test.
  5. Check the Git diff, terminal commands, and token/cost entry before enabling any auto-approval.

Do not assume chat transcripts or an in-progress agent loop will move cleanly because settings did. Start new work with a new task. Keep the old extension installed temporarily only as a reference for a specific mode prompt, an MCP configuration, or a provider setting you need to compare. The migration value here is continuity of configuration, not continuity of trust.

Will Roo Rules and Modes Still Work?

Mostly, but “mostly” is where migration incidents live. Zoo Code documents .roomodes as either YAML or JSON, while its preferred format is YAML. It can read an existing project .roomodes in either format, but it does not automatically convert an existing project JSON file at startup. Editing such a file through the UI writes it back as YAML. Commit the file before opening the modes UI if you want a clean, reviewable conversion rather than a mysterious formatting diff in the middle of a feature branch.

Rules deserve the same check. Zoo loads the directory form, such as .roo/rules-code/, ahead of a root-level fallback such as .roorules-code. If both exist, the directory wins. Project modes with the same slug as global modes also fully override the global definition rather than merging individual properties. That is useful when deliberate; it is a nasty surprise when a project-scoped code mode silently drops a global tool restriction. Open .roomodes, compare mode slugs, and test the exact project mode your team invokes.

// .vscode/settings.json
{
  "roo-cline.useAgentRules": true
}

Leave roo-cline.useAgentRules enabled unless you are specifically isolating a rules-loading problem. Zoo documents it as enabled by default for loading standard agent-rule files such as AGENTS.md. A migration is a bad moment to discover that an agent stopped seeing your test command, architecture boundaries, or “never modify generated files” instruction.

What Zoo Code Is Bad At

Zoo Code is not a way to make an agent safe by installing it. It can execute terminal commands, and its documentation says commands require approval unless you enable auto-approval. The correct operational response is not to turn on unlimited approval because the first few edits looked good. Use Ask or Architect mode for exploration, keep command approval on when touching credentials, deployment scripts, migrations, or production-like data, and review the diff before you accept a broad edit.

It is also not a fixed-price service. The extension is free and open source, but models are external inference providers: you need an account and API key for the provider you select unless you use a gateway arrangement. The displayed request cost is an estimate, not an invoice. That estimate can differ from actual provider billing, particularly when caching or reasoning-token accounting is involved. If somebody asks whether the move “costs nothing,” the honest answer is that the extension may cost nothing while the useful work does not.

Finally, do not make its codebase indexing a migration checkbox. Zoo’s FAQ says indexing requires an OpenAI API key for embeddings and a Qdrant vector database; initial indexing costs more than subsequent updates. If ordinary file search plus deliberate context mentions are enough for the repository you are migrating, skip an extra service until the agent demonstrably fails to navigate the codebase.

How to Control Cost and Permissions

Start with a per-task ceiling, not an optimism ceiling. Zoo’s auto-approval settings include Max Requests: set it to 5 for initial evaluation. The agent may make five automatically approved API calls, then it pauses before the sixth and asks you to reset and continue. Five is not a magic safe number; it is simply short enough that a runaway plan becomes visible before it turns into a long, expensive chain of shell commands and retries.

Then use mode boundaries as an engineering control. Give your planning mode no general file editing or command access. Give your code mode the ability to act, but require approval for shell commands until you have seen its behavior on your repositories. Assign a less costly model to reading and planning if that matches your provider’s pricing, then reserve the stronger model for patches that need multi-file reasoning. Zoo supports sticky models per mode, so changing from Architect to Code can also change models automatically.

Should You Keep Roo Code Installed?

Keep it only long enough to export settings and compare a real project. An archived, read-only repository means no upstream fixes for extension defects, provider changes, or future editor compatibility. Pinning an old agent because its chat history feels familiar is understandable, but it turns a migration task into an unowned dependency. Export, import, validate the rules and permissions that actually govern your work, and remove Roo after the replacement has survived a normal week of small tasks and one nontrivial change.

A Different Reset: Cline

If you reached this page because the archive made you question the whole dependency rather than merely seek a compatible fork, consider Cline. Cline describes itself as an open-source coding-agent runtime that can run in an editor, terminal, or embedded product. Its site lists coordinated multi-file edits, live Bash execution, a Plan/Act workflow, repository rules, MCP support, and CLI use in scripts, cron jobs, and CI. It is for developers who want to choose the model and retain the agent workflow across those surfaces.

For individual developers, Cline says its open-source offering is free and model inference is usage-based: bring your own API key or use its provider, rather than paying a bundled per-seat model subscription. Its pricing page lists VS Code in the open-source offering and JetBrains extension among enterprise features. If you are replacing an archived agent because model access, provider control, and a path from IDE work to terminal automation matter more than preserving every Roo-era file convention, that is the part worth evaluating.

Sources & citations

  1. [1]Roo Code archived repository and shutdown notice
  2. [2]Zoo Code Roo-to-Zoo migration guide
  3. [3]Zoo Code custom modes and Roo-compatible rule locations
  4. [4]Zoo Code installation guide
  5. [5]Zoo Code FAQ: permissions, local models, rules, indexing, and API providers
  6. [6]Zoo Code rate limits and cost controls
  7. [7]Zoo Code modes and model persistence