What is aider?
Aider is an open source AI pair programmer that runs in your terminal and edits the code in your local git repository. You start it in a project, add the files you want changed, describe the change, and aider edits the files and commits the result. The aider site sums it up as "AI pair programming in your terminal."
The source is at github.com/Aider-AI/aider under the Apache 2.0 license. It works with hosted models and local ones, and three ideas set it apart from heavier agents:
- A repo map. Aider sends the model a compact map of your repository's files and key symbols with each request, so it understands code it has not opened.
- Git as the undo button. Every edit becomes its own commit, so you review and revert with normal git tools.
- You choose the context. Files only become editable when you add them to the chat.
This guide follows the aider docs as of 26 October 2026. The latest numbered release on the release history is v0.86.1, and the main branch notes add newer Claude and GPT model aliases that have not shipped in a numbered release yet.
How do you install aider?
The quickest route on the installation page is the aider-install helper, which sets up aider in its own Python environment:
python -m pip install aider-install
aider-install
There are also one-line installers. On macOS and Linux:
curl -LsSf https://aider.chat/install.sh | sh
On Windows PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://aider.chat/install.ps1 | iex"
If you prefer your own tooling, uv tool install --force --python python3.12 --with pip aider-chat@latest and pipx install aider-chat both work. The docs say aider-install and uv accept Python 3.8 to 3.13 and will fetch Python 3.12 if needed, while pipx and pip need Python 3.9 to 3.12. They advise against system package managers, which often install aider with the wrong dependencies.
How do you connect a model to aider?
Change into your project and start aider with a model and key. These are the examples from the aider home page:
cd /to/your/project
aider --model deepseek --api-key deepseek=<key>
aider --model sonnet --api-key anthropic=<key>
aider --model o3-mini --api-key openai=<key>
The models page lists OpenAI, Anthropic, Gemini, GROQ, LM Studio, xAI, Azure, Cohere, DeepSeek, Ollama, OpenAI compatible APIs, OpenRouter, GitHub Copilot, Vertex AI and Amazon Bedrock. Its advice is that aider "works best" with models that are skilled at editing code, and it warns that models weaker than GPT 3.5 may struggle.
To avoid typing keys, put them in a .env file. The .env docs say "You can use a .env file to store API keys and other settings for the models you use with aider." Aider looks for one in your home directory, your git root and the current directory, and files loaded last win.
How do aider's chat modes work?
Aider has four chat modes:
| Mode | What it does |
|---|---|
code |
The default. Aider edits your files to satisfy the request. |
ask |
Aider discusses your code and answers questions but never changes files. |
architect |
A main model proposes a solution, then an editor model turns it into file edits. |
help |
Aider answers questions about aider itself. |
Prefix a single message with /ask, /code, /architect or /help to use a mode once, or run /chat-mode <mode> to switch until you change it again. You can also launch with --chat-mode <mode> or --architect.
A common rhythm is to plan in ask mode and then build. The commands page also lists /ok, added on the main branch after v0.86.1, as an alias for /code Ok, please go ahead and make those changes., so you can approve a plan quickly.
Architect mode is worth knowing about if you use a reasoning model. The docs describe pairing a model that reasons well but edits poorly with a second editor model, set with --editor-model. The tradeoff is two requests per change, so it is slower and costs more.
Which aider commands do you use every day?
Aider's in-chat commands control what the model sees and what happens after an edit. The commands page lists the full set. These cover most sessions:
/addand/dropadd files to the chat for editing, or remove them to free context./read-onlyadds files for reference only./runruns a shell command and can add its output to the chat (alias!)./testruns a command and adds the output only when it fails, which makes a tight fix loop./lintlints and fixes the files in the chat./webscrapes a page into Markdown and sends it as context./diffshows changes since your last message, and/undoreverts the last aider commit./tokensreports how much context the chat uses, and/mapprints the current repo map./copy-contextcopies the chat context as Markdown to paste into a web chat.
The repo map explains why you rarely need to add every file. In the docs' words, "Aider sends a repo map to the LLM along with each change request from the user," and on large repos it sends "just the most relevant portions." The budget is set with --map-tokens, which defaults to 1k tokens.
How does aider use git?
The git page says: "Whenever aider edits a file, it commits those changes with a descriptive commit message." Aider asks its weak model to write the message from the diff and chat, in Conventional Commits style unless you change --commit-prompt.
Useful switches:
--no-auto-commitskeeps edits but skips the commits.--no-dirty-commitsstops aider from committing your own uncommitted changes before it edits.--attribute-co-authored-byadds a Co-authored-by trailer to each commit./commitcommits uncommitted changes with a generated message.
Because each change is a commit, you can let aider work in small steps and still roll back any one of them with /undo or git revert.
Can you use aider from your editor?
Yes, through watch mode. Run aider --watch-files and aider monitors your repo for one-line comments that end in AI! or AI?. The watch mode page gives examples such as # Make a snake game. AI! for a change and # What is the purpose of this method AI? for a question.
You can leave several plain AI comments across files, then trigger them all with a final AI!. Adding an AI comment to a file also adds that file to the chat, so you do not need /add. Any editor works, because aider only watches the files on disk.
How do you give aider project rules, skills and MCP servers?
Rules. Aider has no automatic rules file. The conventions page recommends a small Markdown file such as CONVENTIONS.md loaded read-only, which also lets it be cached when prompt caching is on:
aider --read CONVENTIONS.md
To load it in every session, add it to .aider.conf.yml:
read: [CONVENTIONS.md, AGENTS.md]
Aider reads .aider.conf.yml from your home directory, then your git root, then the current directory, and files loaded last win. If your repo already has an AGENTS.md for other agents, listing it under read lets aider follow the same instructions.
Skills. Aider does not discover Agent Skills folders on its own. A SKILL.md is plain Markdown, so you can load one for a session with /read path/to/SKILL.md, but there is no automatic matching by description.
MCP. Aider's docs and release history do not describe MCP support. It stays deliberately focused on files, the repo map and git.
How does aider compare with Claude Code and Codex?
| Aider | Claude Code | Codex | |
|---|---|---|---|
| Runs in | Terminal, plus any editor through watch mode | Terminal, IDEs, desktop and web | CLI, IDE extension, desktop app and cloud |
| Models | Many hosted providers and local models | Anthropic's Claude models | OpenAI models, or a custom provider with a Responses API endpoint |
| Project instructions | CONVENTIONS.md or AGENTS.md via read: |
CLAUDE.md, or AGENTS.md when there is no CLAUDE.md | AGENTS.md |
| Agent Skills | No automatic discovery | .claude/skills/ |
.agents/skills/ |
| MCP | Not documented | Yes | Yes |
Claude Code's memory docs say it reads AGENTS.md when a repo has no CLAUDE.md, and Codex's AGENTS.md docs say "Codex reads AGENTS.md files before doing any work." So one AGENTS.md can serve all three if you add it to aider's read list.
Pick aider if you want a lightweight, model-agnostic pair programmer with a strict git trail and full control over context. Pick Claude Code or Codex if you want an agent that plans, runs tools and connects MCP servers on its own. The Codex vs Claude Code comparison covers those two in depth, and OpenCode is another open source terminal agent with skills and MCP.
Where do you keep the prompts you reuse with aider?
Aider works best with clear, scoped requests, and good ones are worth saving. Kipt keeps prompts and Agent Skills as Markdown in a private GitHub repo you own, with {{name}} blanks you fill in each time and Cmd+K search. Your CONVENTIONS.md and favorite architect prompts can live there next to the skills you use with other agents.