Tools
There are three main categories of tools: you can go for a specialised AI-first IDE, you can use an extension that brings LLM functionality into a regular IDE, or you can use a CLI tool if you mostly live in the terminal.
There are quite a few companies vying for a piece of AI agent market but there isn’t currently a lot of differentiation in terms of features between different tools. All of them support MCP, all of them are trying to lean into the “agent” model (including background and parallel execution) and scaling up to more complex tasks. Nonetheless, I’ve highlighted some interesting features of the various tools below.
The list of tools isn’t meant to be exhaustive.
IDEs and editors
Cursor
Being a VS Code fork, Cursor provides a very familiar experience (you can carry over your extensions too). Its autocompletion does multi-line edits, cross-file suggestions, and context-aware code completions. You can spawn background agents to edit and run code in a remote environment. You can add a set of rules (to be included in the prompt) and rules are also generated automatically via the Memory feature.
JetBrains
JetBrains includes an AI assistant in its family of IDEs. It provides unlimited code completion via its own LLM Mellum, as well as the usual integrations with cloud LLMs. It can use local models.
Replit
Replit is a cloud-based IDE which includes a genAI agent. It aims to differentiate itself by being an all-in-one environment that includes everything from an IDE to storage to a deployment platform.
Windsurf
Windsurf is another fork of VS Code. It allows multiple interactions with the agent in parallel. Can use its own model SWE-1 (non-local). Has an integrated browser which exposes browser content and logs to the IDE, which helps avoid copy-pasting, and assists with debugging.
Zed
Zed isn’t (yet) a fully fledged IDE, but if IDEs are going to be all about AI features, then it’s definitely striving to be on par with the rest of them. Allows you to track the agent’s location as it navigates your codebase. Can connect to a local LLM. Tab completion is powered by Zeta, an open-source, open-data language model.
IDE extensions
Augment Code
Augment Code has the ability to run multiple cloud agents in parallel, each working on its own branch. It only uses Claude.
Cline
The Checkpoints feature automatically saves snapshots of your workspace after each tool use, allowing easy rollback. Facilitates breaking up the interaction with the agent into Plan and Act phases, which can be more effective.
Continue
Continue is a more basic offering—for example, it doesn’t offer background agents. It has the concept of assigning different models to different roles such as “autocomplete” or “chat” (on the assumption that different models are better/cheaper at different tasks).
Gemini Code Assist
Gemini Code Assist is Google’s IDE extension which includes Gemini CLI as well as a GitHub integration capable of reviewing PRs. Also has fairly high LLM request limits at the time of writing.
GitHub Copilot
I tend to think of GitHub Copilot as the granddaddy of code generation tools. It includes a background agent mode which can be assigned issues and then uses GitHub Actions to execute code and create PRs. It can also be assigned as a PR reviewer on GitHub.
JetBrains AI Assistant
JetBrains AI assistant provides unlimited code completion via its own LLM Mellum, as well as the usual integrations with cloud LLMs.
Roo Code
Roo Code includes browser integration to help with testing web apps, taking screenshots etc. Like Continue, it allows you to set up different agent roles (by means of a prompt) paired with different models. As in Cline, its Checkpoints feature automatically saves snapshots of your workspace after each tool use, allowing easy rollback.
CLI tools
Aider
Aider makes a map of the entire codebase to help it be more effective in large codebases. It automatically lints and tests the code after making changes, and tries to fix problems. It has a watch mode where it looks for instructions in comments with an AI
marker. Aider can operate in “architect” mode where one model acts as an architect and another edits files based on the architect’s output. This is based on the assumption that some models are better than others at particular tasks.
Claude Code
Claude Code is Anthropic’s CLI agent tool. It can also run via GitHub Actions and create PRs.
Gemini CLI
Gemini CLI is Google’s CLI agent tool. This tool is a preview version at the time of writing.
Goose
Goose is another CLI agent. It includes a mechanism for packaging “recipes”—a combination of extensions, prompts, and settings—such that they can be reused later or shared with other people.
OpenAI Codex
Codex is OpenAI’s effort to get a slice of the developer user base with a CLI agent. It shares the name with the cloud-based agent (available as part of ChatGPT) which integrates with GitHub and can create PRs and execute tasks in parallel. Both of these are labelled preview/experimental at the time of writing.
Warp
Warp is a terminal which doubles as an AI agent. It allows you to run multiple agent instances concurrently and keep track of their progress. Warp’s Drive feature allows sharing information, including prompts, with other team members also using Warp.
Local LLM tools
Jan.ai
Jan.ai is a desktop application (and LLM server) which has an extensions mechanism and RAG for local documents.
LMStudio
LMStudio is both a desktop application and a CLI tool (and LLM server) which has an integrated chat and RAG for local documents.
Ollama
Ollama is a CLI tool and LLM server. Supports import from GGUF and SafeTensors formats via Modelfile.
KoboldAI
KoboldAI is an LLM server and frontend. Supports GGUF/GGML models.
SillyTavern
SillyTavern is a local LLM frontend that allows you to interact with text generation LLMs, image generation engines, and TTS voice models. It’s somewhat geared towards storytelling and chat-based roleplay. You’ll need to supply an LLM server separately.
MCP
MCP has emerged as the main mechanism for connecting LLMs to different data sources and tools. Agents are MCP clients which connect to external MCP servers. A server may provide functionality such as interacting with the filesystem, or it may provide browser automation capabilities (eg. Playwright MCP).
MCP server directories are mostly vibecoded slop so you’re probably better off with a web search when you need to find a server.
Other
Simon Willison’s llm tool is a bit of a CLI Swiss army knife for interacting with a variety of cloud and local LLMs.
CodeRabbit is a VS Code extension specialised in code reviews.
Kapa.ai is a RAG chatbot which is specifically aimed at technical documentation.
Kiln is a desktop tool for fine-tuning and distilling models, performing evaluations and generating synthetic data. Primarily meant for customising LLMs embedded in a product.