# Open-source coding agents

> Terminal, IDE and desktop agents that read a codebase, edit files and run commands — how they gather context, apply edits and stay safe.

This category covers two families of tools. Coding agents run in a terminal, an IDE or a desktop app: they read your codebase, edit files and run commands on your machine. Aider, Cline, Qwen Code, Open Interpreter, Codewhale, DeepSeek-Reasonix, PI-Desktop, OpenCode and Codex are in this group. Prompt-to-app builders (VibeSDK, Open Lovable and bolt.diy) turn a description into a running web app inside a sandbox they control. For coding agents, the main axes are how much runs without approval, whether shell commands are confined by an OS sandbox or only by a prompt, how edits are matched and undone, and whether the model must support native tool calling. For app builders, look at where generated code runs (browser, cloud sandbox or Workers), whether the agent sees its own build errors, and which models are actually wired in at the reviewed commit, as opposed to listed in the README.


## Projects

- [anomalyco/opencode](https://llms-technical-reviews.com/p/opencode/) — Client/server TypeScript coding agent on Bun and Effect: any AI SDK provider, permission-ruled tools, TUI, desktop and SDK clients. (★212017, TypeScript)
- [openai/codex](https://llms-technical-reviews.com/p/codex/) — OpenAI's Rust terminal coding agent: a Responses-API turn loop with apply_patch edits and OS-level sandboxes for every shell command. (★128041, Rust)
- [cline/cline](https://llms-technical-reviews.com/p/cline/) — TypeScript agent SDK behind a CLI, VS Code and desktop app: tool-calling loop, per-tool approval policies, git checkpoints, MCP and plugins. (★69942, TypeScript)
- [openinterpreter/openinterpreter](https://llms-technical-reviews.com/p/openinterpreter/) — Rust fork of OpenAI Codex that re-creates other agents' prompts, tools and wire formats ("harnesses") to get more out of open models. (★68515, Rust)
- [Aider-AI/aider](https://llms-technical-reviews.com/p/aider/) — Python terminal pair-programmer: plain-text SEARCH/REPLACE edits, a tree-sitter repo map ranked by PageRank, and git auto-commits. (★49395, Python)
- [codewhale-hq/Codewhale](https://llms-technical-reviews.com/p/codewhale/) — Rust terminal coding agent with ~50 provider kinds, Plan/Act/Operate modes, approval postures, OS sandboxing and sub-agents. (★41059, Rust)
- [esengine/DeepSeek-Reasonix](https://llms-technical-reviews.com/p/deepseek-reasonix/) — Single-binary Go coding agent built around prefix-cache-stable prompts, an optional planner/executor split, OS sandboxing and per-turn rewind. (★35741, Go)
- [firecrawl/open-lovable](https://llms-technical-reviews.com/p/open-lovable/) — Next.js prompt-to-app builder that clones sites via Firecrawl into a React/Vite app previewed in a cloud sandbox. (★28633, TypeScript)
- [QwenLM/qwen-code](https://llms-technical-reviews.com/p/qwen-code/) — Terminal coding agent forked from Gemini CLI, with a multi-provider model layer, bwrap/Landlock shell sandboxing and an LLM auto-approver. (★28335, TypeScript)
- [stackblitz-labs/bolt.diy](https://llms-technical-reviews.com/p/bolt.diy/) — Open-source bolt.new: a Remix prompt-to-app builder that streams LLM file and shell actions into an in-browser WebContainer. (★19929, TypeScript)
- [vastsa/PI-Desktop](https://llms-technical-reviews.com/p/pi-desktop/) — Electron desktop agent running the pi engine in a Node sidecar, with every tool call gated and executed by a Rust host-core. (★6421, TypeScript)
- [cloudflare/vibesdk](https://llms-technical-reviews.com/p/vibesdk/) — Self-hostable prompt-to-app platform on Cloudflare Workers; a Durable Object agent writes, deploys and previews whole web apps. (★5398, TypeScript)

In the research queue (not yet published): google-gemini/gemini-cli, OpenHands/OpenHands, aaif-goose/goose, continuedev/continue, earendil-works/pi.

## Comparison questions

- [How is the agent loop implemented?](https://llms-technical-reviews.com/coding-agents/q/agent-loop/) — Planner vs single loop; tool-call schema; turn structure; stop conditions; sub-agents.
- [How is repository context gathered and kept within the context window?](https://llms-technical-reviews.com/coding-agents/q/context/) — Repo maps, search/grep tools, embeddings, file-reading strategy; summarisation or compaction of long sessions.
- [How are code edits applied?](https://llms-technical-reviews.com/coding-agents/q/editing/) — Edit formats (diff, search/replace, whole file, patch); how edits are validated (lint, tests, retries); undo or git integration.
- [How are shell commands and file writes kept safe?](https://llms-technical-reviews.com/coding-agents/q/execution-safety/) — Approval modes; sandboxing (containers, seatbelt, landlock); allow/deny lists; network restrictions; checkpoints.
- [Which models are supported and how are they called?](https://llms-technical-reviews.com/coding-agents/q/models/) — Providers; local models; tool calling vs text formats; per-model prompt tuning; cost tracking.
- [How can it be extended and customised?](https://llms-technical-reviews.com/coding-agents/q/extensibility/) — MCP; plugins or custom tools; rules/instruction files (AGENTS.md etc.); hooks; headless/SDK use.

Full comparison: https://llms-technical-reviews.com/compare/coding-agents/