AI pair programmer for your terminal
August 9, 2025
- Added support for all GPT-5 models. - Added support for Grok-4 via `xai/grok-4` and `openrouter/x-ai/grok-4` model names. - Added support for `gemini/gemini-2.5-flash-lite-preview-06-17` model, by Tamir Zahavi-Brunner. - `/clear` now prints “All chat history cleared.” so you know it worked, by Zexin Yuan. - `/undo` output now shows only the first line of each commit message, making it easier to read. - Added support for `openrouter/moonshotai/kimi-k2` model, by Jack Harrington. - Display model announcements with no-arg `/model` command. - Fixed an issue where new settings for an existing model didn't replace the old ones, by Andrew Grigorev. - Fixed analytics to support the latest PostHog SDK event-capture API. - Bumped dependencies to pick up latest litellm==1.75.0. - Aider wrote 88% of the code in this release.
Features
June 27, 2025
#### New Models - Added support for new Gemini models including `gemini-2.5-pro`, `gemini-2.5-flash`, and `gemini-2.5-pro-preview-06-05` with thinking tokens support. - Updated model aliases: `flash` now points to `gemini-2.5-flash` and `gemini` now points to `gemini-2.5-pro`. - Support for Responses API models like o1-pro, o3-pro. - Added support for OpenAI o3-pro model across multiple providers. - Enhanced thinking tokens support: can now be disabled by setting to 0, and improved help text with examples. - Increased max tokens for Deepseek models to 65536 for better performance. - Updated pricing for o3. #### New Features & Enhancements - Added `--add-gitignore-files` flag to enable adding files listed in .gitignore to Aider's editing scope, by omarcinkonis. - Co-authored-by attribution is now enabled by default for commit messages. - Enhanced commit message generation to use system prompt prefixes, by Luke Reeves. - Added `--commit-language` option to specify the language for commit messages, by Kyosuke Takayama. - Skip expensive file tracking operations when `--skip-sanity-check-repo` is enabled for better performance, by Makar Ivashko. - Optimized chat history summarization performance, by jayeshthk. - Added custom PostHog analytics configuration options with `--analytics-posthog-host` and `--analytics-posthog-project-api-key` flags, by Vasil Markoukin. #### Repository Map - Added MATLAB language support for repository maps, by Matthew Tofano. - Added Clojure language support for repository maps, by Garrett Hopper. - Improved kebab-case identifier recognition in repository maps for better code analysis. #### Fixes & Small Improvements - Improved GitHub Copilot token handling with better validation and error messages, by Vincent Taverna and Sebastian Estrella. - Improved inline code rendering in Rich markdown output, by Vamsi Talupula. - Fixed Vertex AI model name prefixes in settings, by Wietse Venema. - Improved `/read-only` command to resolve literal paths correctly, by Matteo Landi. - Fixed encoding issues in git diff output and LLM history logging. - Fixed search block regex to accept optional closing tags when working with HTML content, by Mathis Beer. - Auto-create parent directories for chat history files to prevent startup errors, by contributor. - Ensure pip is available before package installation. - Aider wrote 21% of the code in this release.
May 30, 2025
## Model support & provider updates - Added support for new Claude models including the Sonnet 4 and Opus 4 series (e.g., `claude-sonnet-4-20250514`, `claude-opus-4-20250514`) across various providers. The default `sonnet` and `opus` aliases were updated to these newer versions. - Added support for the `vertex_ai/gemini-2.5-flash-preview-05-20` model. - Updated default OpenRouter models during onboarding to `deepseek/deepseek-r1:free` for the free tier and `anthropic/claude-sonnet-4` for paid tiers. - Automatically refresh GitHub Copilot tokens when used as OpenAI API keys, by Lih Chen. ## Core functionality improvements - Fixed an issue where files explicitly added via the command line were not correctly ignored if listed in `.gitignore`. - Improved automatic commit messages by providing more context during their generation, by wangboxue. - Fixed OpenRouter token cost calculation for improved accuracy. ## Quality of life improvements - Improved OpenRouter model metadata handling by introducing a local cache, increasing reliability and performance. - Added shell tab completion for file path arguments (by saviour) and for `--edit-format`/`--editor-edit-format` options. - The `/settings` command now displays detailed metadata for active main, editor, and weak models. - Improved user language detection by correctly normalizing hyphenated language codes (e.g., `en-US` to `en`) and enhancing the validation of locale results. - Prevented aider from instructing the LLM to reply in 'C' or 'POSIX' when these are detected as the system locale. - Displayed a spinner with the model name when generating commit messages. - Bumped configargparse to 1.7.1 as 1.7 was pulled.
May 9, 2025
- Added support for `gemini-2.5-pro-preview-05-06` models. - Added support for `qwen3-235b` models. - Added repo-map support for OCaml and OCaml interface files, by Andrey Popp. - Added a spinner animation while waiting for the LLM to start streaming its response. - Updated the spinner animation to a Knight Rider style. - Introduced `--attribute-co-authored-by` option to add co-author trailer to commit messages, by Andrew Grigorev. - Updated Gemini model aliases (e.g., `gemini`, `gemini-2.5-pro`) to point to the `05-06` preview versions. - Marked Gemini 2.5 Pro preview models as `overeager` by default. - Commit message prompt specifies the user's language. - Updated the default weak model for Gemini 2.5 Pro models to `gemini/gemini-2.5-flash-preview-04-17`. - Corrected `gemini-2.5-pro-exp-03-25` model settings to reflect its lack of support for `thinking_budget`. - Ensured model-specific system prompt prefixes are placed on a new line before the main system prompt. - Added tracking of total tokens sent and received, now included in benchmark statistics. - Automatically fetch model parameters (context window, pricing) for OpenRouter models directly from their website, by Stefan Hladnik. - Enabled support for `thinking_tokens` and `reasoning_effort` parameters for OpenRouter models. - Improved cost calculation using `litellm.completion_cost` where available. - Added model settings for `openrouter/google/gemini-2.5-pro-preview-03-25`. - Added `--disable-playwright` flag to prevent Playwright installation prompts and usage, by Andrew Grigorev. - The `aider scrape` command-line tool will now use Playwright for web scraping if it is available, by Jon Keys. - Fixed linter command execution on Windows by adopting `oslex` for argument quoting, by Titusz Pan. - Improved cross-platform display of shell commands by using `oslex` for robust argument quoting, by Titusz Pan. - Improved `/ask` mode to instruct the LLM to elide unchanging code in its responses. - Ensured web scraping in the GUI also respects Playwright availability and the `--disable-playwright` flag. - Improved display of filenames in the prompt header using rich Text formatting. - Enabled `reasoning_effort` for Gemini 2.5 Flash models. - Added a `--shell-completions` argument to generate shell completion scripts (e.g., for bash, zsh). - Explicit `--attribute-author` or `--attribute-committer` flags now override the default behavior when `--attribute-co-authored-by` is used, allowing finer control over commit attribution, by Andrew Grigorev. - Fixed an issue where read-only status of files might not be preserved correctly by some commands (e.g. `/drop` after adding a read-only file). - The `aider-args` utility (or `python -m aider.args`) now defaults to printing a sample YAML configuration if no arguments are provided. - Displayed token count progress and the name of the file or identifier being processed during repo map updates. - Extended the waiting spinner to also show for non-streaming responses and further enhanced its animation with console width clipping, cursor hiding, and a more continuous appearance. - Dropped support for Python 3.9. - Aider wrote 55% of the code in this release. Full release notes: https://aider.chat/HISTORY.html
April 14, 2025
- Support for GPT 4.1, mini and nano. - Improved support for using architect mode with Gemini 2.5 Pro. - Add support for `xai/grok-3-beta`, `xai/grok-3-mini-beta`, `openrouter/x-ai/grok-3-beta`, `openrouter/x-ai/grok-3-mini-beta`, and `openrouter/openrouter/optimus-alpha` models. - Added support for `grok-3-fast-beta` and `grok-3-mini-fast-beta` models. - Added new `patch` edit format for OpenAI's GPT-4.1 model. - Added new `editor-diff`, `editor-whole`, and `editor-diff-fenced` edit formats. - Bugfix for automatically selecting the best edit format to use in architect mode. - Add alias "grok3" for `xai/grok-3-beta`. - Add alias "optimus" for `openrouter/openrouter/optimus-alpha`. - Fix URL extraction from error messages. - Allow adding files by full path even if a file with the same basename is already in the chat. - Fix quoting of values containing '#' in the sample `aider.conf.yml`. - Add support for Fireworks AI model 'deepseek-v3-0324', by Felix Lisczyk. - Aider wrote 92% of the code in this release. <img width="730" alt="2025-04-14_16-22-29" src="https://github.com/user-attachments/assets/e4bd30b4-7fa4-4784-a10c-50315d7cbac6" />
April 4, 2025
- Added support for the `openrouter/openrouter/quasar-alpha` model. - Currently free on OpenRouter. - Quasar scored 55% on the polyglot coding benchmark - Run with `aider --model quasar` - Offer OpenRouter OAuth authentication if an OpenRouter model is specified but the API key is missing. - Prevent retrying API calls when the provider reports insufficient credits. - Improve URL detection to exclude trailing double quotes. - Bumped deps to pickup litellm change to properly display the root cause of OpenRouter "choices" errors. - Improve error message for OpenRouter API connection issues to mention potential rate limiting or upstream provider issues. - Configure weak models (`gemini/gemini-2.0-flash` and `openrouter/google/gemini-2.0-flash-exp:free`) for Gemini 2.5 Pro models. - Add model metadata for `openrouter/google/gemini-2.0-flash-exp:free`. - Updated deps for yanked fsspec and aiohttp packages #3699 - Removed redundant dependency check during OpenRouter OAuth flow, by Claudia Pellegrino. - Aider wrote 86% of the code in this release. https://aider.chat/HISTORY.html <img width="826" alt="2025-04-04_16-17-33" src="https://github.com/user-attachments/assets/4b6c4c8f-6110-4c6c-8f27-03592e36c1d2" />
March 31, 2025
- OpenRouter OAuth integration: - Offer to OAuth against OpenRouter if no model and keys are provided. - Select OpenRouter default model based on free/paid tier status if `OPENROUTER_API_KEY` is set and no model is specified. - Prioritize `gemini/gemini-2.5-pro-exp-03-25` if `GEMINI_API_KEY` is set, and `vertex_ai/gemini-2.5-pro-exp-03-25` if `VERTEXAI_PROJECT` is set, when no model is specified. - Validate user-configured color settings on startup and warn/disable invalid ones. - Warn at startup if `--stream` and `--cache-prompts` are used together, as cost estimates may be inaccurate. - Boost repomap ranking for files whose path components match identifiers mentioned in the chat. - Change web scraping timeout from an error to a warning, allowing scraping to continue with potentially incomplete content. - Left-align markdown headings in the terminal output, by Peter Schilling. - Update edit format to the new model's default when switching models with `/model`, if the user was using the old model's default format. - Add the `openrouter/deepseek-chat-v3-0324:free` model. - Add `Ctrl-X Ctrl-E` keybinding to edit the current input buffer in an external editor, by Matteo Landi. - Fix linting errors for filepaths containing shell metacharacters, by Mir Adnan ALI. - Add repomap support for the Scala language, by Vasil Markoukin. - Fixed bug in `/run` that was preventing auto-testing. - Fix bug preventing `UnboundLocalError` during git tree traversal. - Handle `GitCommandNotFound` error if git is not installed or not in PATH. - Handle `FileNotFoundError` if the current working directory is deleted while aider is running. - Fix completion menu current item color styling, by Andrey Ivanov. - Aider wrote 87% of the code in this release. Full change log: https://aider.chat/HISTORY.html
March 25, 2025
- Added support for SOTA Gemini 2.5 Pro. - Added support for DeepSeek V3 0324. - Added a new `/context` command that automatically identifies which files need to be edited for a given request. - Added `/edit` as an alias for the `/editor` command. - Added "overeager" mode for Claude 3.7 Sonnet models to try and keep it working within the requested scope. - Aider wrote 65% of the code in this release. <img width="939" alt="2025-03-25_10-50-17" src="https://github.com/user-attachments/assets/48795278-5693-441c-8744-653f5ade99a3" />
March 21, 2025
- Added support for thinking tokens for OpenRouter Sonnet 3.7. - Added commands to switch between model types: `/editor-model` for Editor Model, and `/weak-model` for Weak Model, by csala. - Added model setting validation to ignore `--reasoning-effort` and `--thinking-tokens` if the model doesn't support them. - Added `--check-model-accepts-settings` flag (default: true) to force unsupported model settings. - Annotated which models support reasoning_effort and thinking_tokens settings in the model settings data. - Improved code block rendering in markdown output with better padding using NoInsetMarkdown. - Added `--git-commit-verify` flag (default: False) to control whether git commit hooks are bypassed. - Fixed autocompletion for `/ask`, `/code`, and `/architect` commands, by shladnik. - Added vi-like behavior when pressing enter in multiline-mode while in vi normal/navigation-mode, by Marco Mayer. - Added AWS_PROFILE support for Bedrock models, allowing use of AWS profiles instead of explicit credentials, by lentil32. - Enhanced `--aiderignore` argument to resolve both absolute and relative paths, by mopemope. - Improved platform information handling to gracefully handle retrieval errors. - Bumped dependencies to pickup litellm fix for Ollama. - Added support for `openrouter/google/gemma-3-27b-it` model. - Updated exclude patterns for help documentation. - Aider wrote 92% of the code in this release. Full release notes: https://aider.chat/HISTORY.html
March 13, 2025
- Big upgrade in [programming languages supported](https://aider.chat/docs/languages.html) by adopting [tree-sitter-language-pack](https://github.com/Goldziher/tree-sitter-language-pack/). - 130 new languages with linter support. - 20 new languages with repo-map support. - Added `/think-tokens` command to set thinking token budget with support for human-readable formats (8k, 10.5k, 0.5M). - Added `/reasoning-effort` command to control model reasoning level. - The `/think-tokens` and `/reasoning-effort` commands display current settings when called without arguments. - Display of thinking token budget and reasoning effort in model information. - Changed `--thinking-tokens` argument to accept string values with human-readable formats. - Added `--auto-accept-architect` flag (default: true) to automatically accept changes from architect coder format without confirmation. - Added support for `cohere_chat/command-a-03-2025` and `gemini/gemma-3-27b-it` - The bare `/drop` command now preserves original read-only files provided via args.read. - Fixed a bug where default model would be set by deprecated `--shortcut` switches even when already specified in the command line. - Improved AutoCompleter to require 3 characters for autocompletion to reduce noise. - Fixed handling of JSONDecodeError when loading model cache file. - Fixed handling of GitCommandError when retrieving git user configuration. - Added ignore_permission_denied option to file watcher to prevent errors when accessing restricted files, by Yutaka Matsubara. - Aider wrote 72% of the code in this release.
Features
March 10, 2025
- Improved support for [thinking/reasoning models](https://aider.chat/docs/config/reasoning.html): - Added `--thinking-tokens` CLI option to control token budget for models that support thinking. - Display thinking/reasoning content from LLMs which return it. - Enhanced handling of reasoning tags to better clean up model responses. - Added deprecation warning for `remove_reasoning` setting, now replaced by `reasoning_tag`. - Aider will notify you when it's completed the last request and needs your input: - Added [notifications when LLM responses are ready](https://aider.chat/docs/usage/notifications.html) with `--notifications` flag. - Specify desktop notification command with `--notifications-command`. - Added/improved support for many models/providers: - Added support for QWQ 32B. - Support for DeepSeek V3 free on OpenRouter: `--model openrouter/deepseek/deepseek-chat:free`. - Added support for Claude 3.7 Sonnet models on OpenRouter, Bedrock and Vertex AI. - Updated default model to Claude 3.7 Sonnet on OpenRouter. - Added support for GPT-4.5-preview model. - Added support for Claude 3.7 Sonnet:beta on OpenRouter. - Added support for `openrouter/anthropic/claude-3.7-sonnet` - Fixed weak_model_name patterns to match main model name patterns for some models. - Switch to `tree-sitter-language-pack` for tree sitter support. - Improved error handling for EOF (Ctrl+D) in user input prompts. - Added helper function to ensure hex color values have a # prefix. - Fixed handling of Git errors when reading staged files. - Improved SSL verification control for model information requests. - Improved empty LLM response handling with clearer warning messages. - Fixed Git identity retrieval to respect global configuration, by Akira Komamura. - Offer to install dependencies for Bedrock and Vertex AI models. - Deprecated model shortcut args (like --4o, --opus) in favor of the --model flag. - Aider wrote 85% of the code in this release. https://aider.chat/HISTORY.html 
March 4, 2025
- Basic support for Claude 3.7 Sonnet - Use `--model sonnet` to use the new 3.7 - Thinking support coming soon. - Bugfix to `/editor` command. - Downgrade streamlit dependency to avoid threading bug. - Added support for tree-sitter language pack. - Added openrouter/o3-mini-high model configuration. - Added build.gradle.kts to special files for Kotlin project support, by Lucas Shadler. - Prevent more than one cache warming thread from becoming active. - Fixed continuation prompt ". " for multiline input. - Added HCL (Terraform) syntax support, by Warren Krewenki. - Have o1 & o3-mini generate markdown by sending the magic "Formatting re-enabled." string. - Bugfix for multi-line inputs, which should not include the ". " continuation prompt. - Aider wrote 46% of the code in this release.
February 6, 2025
- Dynamically changes the Ollama context window to hold the current chat. - Better support for o3-mini, DeepSeek V3 & R1, o1-mini, o1 via secondary API providers. - Remove `<think>` tags from R1 responses for commit messages (and other weak model uses). - Can now specify `use_temperature: <float>` in model settings, not just true/false. - The full docker container now includes `boto3` for Bedrock. - Docker containers now set `HOME=/app` which is the normal project mount-point, to persist `~/.aider`. - Bugfix to prevent creating incorrect filenames like `python`, `php`, etc. - Bugfix for `--timeout` - Bugfix so that `/model` now correctly reports that the weak model is not changed. - Bugfix so that multi-line mode persists through ^C at confirmation prompts. - Watch files now fully ignores top-level directories named in ignore files, to reduce the chance of hitting OS watch limits. Helpful to ignore giant subtrees like `node_modules`. - Fast startup with more providers and when model metadata provided in local files. - Improved .gitignore handling: - Honor ignores already in effect regardless of how they've been configured. - Check for .env only when the file exists. - Yes/No prompts now accept All/Skip as alias for Y/N even when not processing a group of confirmations. - Aider wrote 77% of the code in this release. https://aider.chat/HISTORY.html
January 31, 2025
- Full support for o3-mini: `aider --model o3-mini` - New `--reasoning-effort` argument: low, medium, high. - Improved handling of context window size limits, with better messaging and Ollama-specific guidance. - Added support for removing model-specific reasoning tags from responses with `remove_reasoning: tagname` model setting. - Auto-create parent directories when creating new files, by xqyz. - Support for R1 free on OpenRouter: `--model openrouter/deepseek/deepseek-r1:free` - Enforce user/assistant turn order to avoid R1 errors, by miradnanali. - Case-insensitive model name matching while preserving original case. - Harden against user/assistant turn order problems which cause R1 errors. - Fix model metadata for `openrouter/deepseek/deepseek-r1` - Aider wrote 69% of the code in this release. https://aider.chat/HISTORY.html <img width="984" alt="2025-01-31_13-35-29" src="https://github.com/user-attachments/assets/94b0824b-c222-4b1e-98ec-df5947b07f5b" />
January 20, 2025
- Support for DeepSeek R1. - Use shortcut: `--model r1` - Also via OpenRouter: `--model openrouter/deepseek/deepseek-r1` - Added Kotlin syntax support to repo map, by Paul Walker. - Added `--line-endings` for file writing, by Titusz Pan. - Added examples_as_sys_msg=True for GPT-4o models, improves benchmark scores. - Bumped all dependencies, to pick up litellm support for o1 system messages. - Bugfix for turn taking when reflecting lint/test errors. - Fix permissions issue in Docker images. - Added read-only file announcements. - Bugfix: ASCII fallback for unicode errors. - Bugfix: integer indices for list slicing in repomap calculations. - Aider wrote 52% of the code in this release. <img width="898" alt="2025-01-20_11-39-50" src="https://github.com/user-attachments/assets/1de1f960-699b-444d-ba6c-28a3aedd0ea3" />
January 10, 2025
- Prompts to help DeepSeek work better when alternating between `/ask` and `/code`. - Streaming pretty LLM responses is smoother and faster for long replies. - Streaming automatically turns of for model that don't support it - Can now switch to/from `/model o1` and a streaming model - Pretty output remains enabled even when editing files with triple-backtick fences - Bare `/ask`, `/code` and `/architect` commands now switch the chat mode. - Increased default size of the repomap. - Increased max chat history tokens limit from 4k to 8k. - Turn off fancy input and watch files if terminal is dumb. - Added support for custom voice format and input device settings. - Disabled Streamlit email prompt, by apaz-cli. - Fixed lint command handling of nested spaced strings, by Aaron Weisberg. - Added token count feedback when adding command output to chat. - Improved error handling for large audio files with automatic format conversion. - Improved handling of git repo index errors, by Krazer. - Improved unicode handling in console output with ASCII fallback. - Added AssertionError to git error handling. - Fixed file export path in voice format conversion. - Added AttributeError to git error handling. - Improved markdown rendering performance with adaptive delay based on render time. - Fixed typo in model metadata variable name. - Aider wrote 60% of the code in this release. https://aider.chat/HISTORY.html
December 26, 2024
- Full support for o1 models. - Watch files now honors `--subtree-only`, and only watches that subtree. - Improved prompting for watch files, to work more reliably with more models. - New install methods via uv, including one-liners. - Support for openrouter/deepseek/deepseek-chat model. - Better error handling when interactive commands are attempted via `/load` or `--load`. - Display read-only files with abs path if its shorter than rel path. - Ask 10% of users to opt-in to analytics. - Bugfix for auto-suggest. - Gracefully handle unicode errors in git path names. - Fix for gemini model names in model metadata. - Show hints about AI! and AI? when user makes AI comments. - Support for running without git installed. - Improved environment variable setup messages on Windows. - Aider wrote 74% of the code in this release. https://aider.chat/HISTORY.html
December 13, 2024
- [Watch files](https://aider.chat/docs/usage/watch.html) improvements: - Use `# ... AI?` comments to trigger aider and ask questions about your code. - Now watches *all* files, not just certain source files. - Use `# AI comments`, `// AI comments`, or `-- AI comments` to give aider instructions in any text file. - Full support for Gemini Flash 2.0 Exp: - `aider --model flash` or `aider --model gemini/gemini-2.0-flash-exp` - [New `--multiline` flag and `/multiline-mode` command](https://aider.chat/docs/usage/commands.html#entering-multi-line-chat-messages) makes ENTER a soft newline and META-ENTER send the message, by @miradnanali. - `/copy-context <instructions>` now takes optional "instructions" when [copying code context to the clipboard](https://aider.chat/docs/usage/copypaste.html#copy-aiders-code-context-to-your-clipboard-paste-into-the-web-ui). - Improved clipboard error handling with helpful requirements install info. - Ask 5% of users if they want to opt-in to analytics. - `/voice` now lets you edit the transcribed text before sending. - Disabled auto-complete in Y/N prompts. - Aider wrote 68% of the code in this release. https://github.com/user-attachments/assets/528b6868-f6be-426c-a736-dbe1a208435d
December 10, 2024
- [Aider works with LLM web chat UIs](https://aider.chat/docs/usage/copypaste.html). - New `--copy-paste` mode. - New `/copy-context` command. - [Set API keys and other environment variables for all providers from command line or yaml conf file](https://aider.chat/docs/config/aider_conf.html#storing-llm-keys). - New `--api-key provider=key` setting. - New `--set-env VAR=value` setting. - Added bash and zsh support to `--watch-files`. - Better error messages when missing dependencies for Gemini and Bedrock models. - Control-D now properly exits the program. - Don't count token costs when API provider returns a hard error. - Bugfix so watch files works with files that don't have tree-sitter support. - Bugfix so o1 models can be used as weak model. - Updated shell command prompt. - Added docstrings for all Coders. - Reorganized command line arguments with improved help messages and grouping. - Use the exact `sys.python` for self-upgrades. - Added experimental Gemini models. - Aider wrote 71% of the code in this release. https://github.com/user-attachments/assets/a8dca5f6-a1f8-4282-9cbd-e8219f4a23b6
December 6, 2024
- [Use aider in your IDE or editor](https://aider.chat/docs/usage/watch.html). - Run `aider --watch-files` and it will watch for instructions you add to your source files. - One-liner `# ...` or `// ...` comments that start or end with "AI" are instructions to aider. - When aider sees "AI!" it reads and follows all the instructions in AI comments. - Support for new Amazon Bedrock Nova models. - When `/run` or `/test` have non-zero exit codes, pre-fill "Fix that" into the next message prompt. - `/diff` now invokes `git diff` to use your preferred diff tool. - Added Ctrl-Z support for process suspension. - Spinner now falls back to ASCII art if fancy symbols throw unicode errors. - `--read` now expands `~` home dirs. - Enabled exception capture in analytics. - [Aider wrote 61% of the code in this release.](https://aider.chat/HISTORY.html) https://github.com/user-attachments/assets/bea76d8b-5c31-4913-9536-97b7e6c632b5
December 1, 2024
- PDF support for Sonnet and Gemini models. - Added `--voice-input-device` to select audio input device for voice recording, by @preynal. - Added `--timeout` option to configure API call timeouts. - Set cwd to repo root when running shell commands. - Added Ctrl-Up/Down keyboard shortcuts for per-message history navigation. - Improved error handling for failed .gitignore file operations. - Improved error handling for input history file permissions. - Improved error handling for analytics file access. - Removed spurious warning about disabling pretty in VSCode. - Removed broken support for Dart. - Bugfix when scraping URLs found in chat messages. - Better handling of __version__ import errors. - Improved `/drop` command to support substring matching for non-glob patterns. - Bugfix to `--alias`. - Aider wrote 82% of the code in this release. https://github.com/user-attachments/assets/4d9b5187-45e5-47c2-a8ff-1e00542c8b06
November 26, 2024
- Added `--alias` config to define [custom model aliases](https://aider.chat/docs/config/model-aliases.html). - Added `--[no-]detect-urls` flag to disable detecting and offering to scrape URLs found in the chat. - Ollama models now default to an 8k context window. - Added [RepoMap support for Dart language](https://aider.chat/docs/languages.html) by @malkoG. - Ask 2.5% of users if they want to opt-in to [analytics](https://aider.chat/docs/more/analytics.html). - Skip suggesting files that share names with files already in chat. - `/editor` returns and prefill the file content into the prompt, so you can use `/editor` to compose messages that start with `/commands`, etc. - Enhanced error handling for analytics. - Improved handling of UnknownEditFormat exceptions with helpful documentation links. - Bumped dependencies to pick up grep-ast 0.4.0 for Dart language support. - Aider wrote 81% of the code in this release. <img width="569" alt="2024-11-26_08-59-06" src="https://github.com/user-attachments/assets/ea13c0e7-a243-4798-96a8-eebb43fba794">
November 21, 2024
- Added [`/editor` command](https://aider.chat/docs/usage/commands.html) to open system editor for writing prompts, by @thehunmonkgroup. - Full support for `gpt-4o-2024-11-20`. - Stream o1 models by default. - `/run` and suggested shell commands are less mysterious and now confirm that they "Added XX lines of output to the chat." - Ask 1% of users if they want to opt-in to [analytics](https://aider.chat/docs/more/analytics.html). - Added support for [optional multiline input tags](https://aider.chat/docs/usage/commands.html#entering-multi-line-chat-messages) with matching closing tags. - Improved [model settings configuration](https://aider.chat/docs/config/adv-model-settings.html#global-extra-params) with support for global `extra_params` for `litellm.completion()`. - Architect mode now asks to add files suggested by the LLM. - Fixed bug in fuzzy model name matching. - Added Timeout exception to handle API provider timeouts. - Added `--show-release-notes` to control release notes display on first run of new version. - Save empty dict to cache file on model metadata download failure, to delay retry. - Improved error handling and code formatting. - Fixed bug in fuzzy model name matching when litellm provider info is missing. - Modified model metadata file loading to allow override of resource file. - Allow recursive loading of dirs using `--read`. - Updated dependency versions to pick up litellm fix for ollama models. - Added exponential backoff retry when writing files to handle editor file locks. - Updated Qwen 2.5 Coder 32B model configuration. - Fixed bug in git ignored file handling. - Improved error handling for git operations. - Aider wrote 74% of the code in this release.
November 13, 2024
- Support for Qwen 2.5 Coder 32B. - `/web` command just adds the page to the chat, without triggering an LLM response. - Improved prompting for the user's preferred chat language. - Improved handling of LiteLLM exceptions. - Bugfix for double-counting tokens when reporting cache stats. - Bugfix for the LLM creating new files. - Other small bug fixes. - Aider wrote 55% of the code in this release.
Features
November 4, 2024
- Full support for Claude 3.5 Haiku - Scored 75% on [aider's code editing leaderboard](https://aider.chat/docs/leaderboards/). - Almost as good as Sonnet at much lower cost. - Launch with `--haiku` to use it. - Easily apply file edits from ChatGPT, Claude or other web apps - Chat with ChatGPT or Claude via their web app. - Give it your source files and ask for the changes you want. - Use the web app's "copy response" button to copy the entire reply from the LLM. - Run `aider --apply-clipboard-edits file-to-edit.js`. - Aider will edit your file with the LLM's changes. - Bugfix for creating new files. - Aider wrote 84% of the code in this release. <img width="1003" alt="2024-11-04_12-11-03" src="https://github.com/user-attachments/assets/ceab2c15-848c-419c-bed6-38cd2347539e">
November 1, 2024
- Load and save aider slash-commands to files: - `/save <fname>` command will make a file of `/add` and `/read-only` commands that recreate the current file context in the chat. - `/load <fname>` will replay the commands in the file. - You can use `/load` to run any arbitrary set of slash-commands, not just `/add` and `/read-only`. - Use `--load <fname>` to run a list of commands on launch, before the interactive chat begins. - Anonymous, opt-in [analytics](https://aider.chat/docs/more/analytics.html) with no personal data sharing. - Aider follows litellm's `supports_vision` attribute to enable image support for models. - Bugfix for when diff mode flexibly handles the model using the wrong filename. - Displays filenames in sorted order for `/add` and `/read-only`. - New `--no-fancy-input` switch disables prompt toolkit input, now still available with `--no-pretty`. - Override browser config with `--no-browser` or `--no-gui`. - Offer to open documentation URLs when errors occur. - Properly support all o1 models, regardless of provider. - Improved layout of filenames above input prompt. - Better handle corrupted repomap tags cache. - Improved handling of API errors, especially when accessing the weak model. - Aider wrote 68% of the code in this release.
Features
October 22, 2024
- Full support for Sonnet 10/22, the new SOTA model on aider's code editing benchmark. - Aider uses Sonnet 10/22 by default. - Improved formatting of added and read-only files above chat prompt, by @jbellis. - Improved support for o1 models by more flexibly parsing their nonconforming code edit replies. - Corrected diff edit format prompt that only the first match is replaced. - Stronger whole edit format prompt asking for clean file names. - Now offers to add `.env` to the `.gitignore` file. - Ships with a small model metadata json file to handle models not yet updated in litellm. - Model settings for o1 models on azure. - Bugfix to properly include URLs in `/help` RAG results. - Aider wrote 49% of the code in this release. <img width="1021" alt="2024-10-22_11-25-54" src="https://github.com/user-attachments/assets/335e8276-fa4a-4749-bb47-8f30e13351b2">
October 4, 2024
- Improvements to `/read-only`: - Now supports shell-style auto-complete of the full file system. - Still auto-completes the full paths of the repo files like `/add`. - Now supports globs like `src/**/*.py` - Renamed `--yes` to `--yes-always`. - Now uses `AIDER_YES_ALWAYS` env var and `yes-always:` yaml key. - Existing YAML and .env files will need to be updated. - Can still abbreviate to `--yes` on the command line. - Config file now uses standard YAML list syntax with ` - list entries`, one per line. - `/settings` now includes the same announcement lines that would print at launch. - Sanity checks the `--editor-model` on launch now, same as main and weak models. - Added `--skip-sanity-check-repo` switch to speedup launch in large repos. - Bugfix so architect mode handles Control-C properly. - Repo-map is deterministic now, with improved caching logic. - Improved commit message prompt. - Aider wrote 77% of the code in this release.
Features
September 29, 2024
- [Use a pair of Architect/Editor models for improved coding](https://aider.chat/2024/09/26/architect.html) - Use a strong reasoning model like o1-preview as your Architect. - Use a cheaper, faster model like gpt-4o as your Editor. - New `--o1-preview` and `--o1-mini` shortcuts. - Support for new Gemini 002 models. - Better support for Qwen 2.5 models. - Many confirmation questions can be skipped for the rest of the session with "(D)on't ask again" response. - Autocomplete for `/read-only` supports the entire filesystem. - New settings for completion menu colors. - New `/copy` command to copy the last LLM response to the clipboard. - Renamed `/clipboard` to `/paste`. - Will now follow HTTP redirects when scraping urls. - New `--voice-format` switch to send voice audio as wav/mp3/webm, by @mbailey. - ModelSettings takes `extra_params` dict to specify any extras to pass to `litellm.completion()`. - Support for cursor shapes when in vim mode. - Numerous bug fixes. - Aider wrote 53% of the code in this release. <img width="832" alt="2024-09-29_08-11-37" src="https://github.com/user-attachments/assets/96b05440-e0f5-49fe-9390-adcbf7ad75d1">
September 21, 2024
- Support for OpenAI o1 models: - o1-preview now works well with diff edit format. - o1-preview with diff now matches SOTA leaderboard result with whole edit format. - `aider --model o1-mini` - `aider --model o1-preview` - On Windows, `/run` correctly uses PowerShell or cmd.exe. - Support for new 08-2024 Cohere models, by @jalammar. - Can now recursively add directories with `/read-only`. - User input prompts now fall back to simple `input()` if `--no-pretty` or a Windows console is not available. - Improved sanity check of git repo on startup. - Improvements to prompt cache chunking strategy. - Removed "No changes made to git tracked files". - Numerous bug fixes for corner case crashes. - Updated all dependency versions. - Aider wrote 70% of the code in this release.
Features
September 9, 2024
- Enables prompt caching for Sonnet via OpenRouter by @fry69 - Enables 8k output tokens for Sonnet via VertexAI and DeepSeek V2.5. - New `/report` command to open your browser with a pre-populated GitHub Issue. - New `--chat-language` switch to set the spoken language. - Now `--[no-]suggest-shell-commands` controls both prompting for and offering to execute shell commands. - Check key imports on launch, provide helpful error message if dependencies aren't available. - Renamed `--models` to `--list-models` by @fry69. - Numerous bug fixes for corner case crashes. - Aider wrote 56% of the code in this release.
Features
September 4, 2024
- Offer to submit a GitHub issue pre-filled with uncaught exception info. - Numerous corner case bug fixes submitted via new pre-filled crash report feature. - New `/settings` command to show active settings. - Startup QOL improvements: - Sanity check the git repo and exit gracefully on problems. - Pause for confirmation after model sanity check to allow user to review warnings. - Include important devops files in the repo map. - Don't ask again in current session about a file the user has said not to add to the chat. - Only print the pip command when self updating on Windows, without running it. - Converted many error messages to warning messages. - Added `--tool-warning-color` setting. - Disabled built in linter for typescript. - Catch `/voice` transcription exceptions, show the WAV file so the user can recover it. - Adopted setuptools_scm to provide `vX.Y.Z.dev` version naming with git hashes. - Share active test and lint commands with the LLM. - Added --verbose debug output for shell commands. - Do not fuzzy match filenames when LLM is creating a new file, by @ozapinq - Only show cache warming status update if `--verbose`. - Bugfix for shell commands on Windows. - Refuse to make git repo in $HOME, warn user. - Added `--update` as an alias for `--upgrade`. - Bugfix to completions for `/model` command. - Aider wrote 53% of the code in this release.
Features
August 28, 2024
- Added model settings for `gemini/gemini-1.5-pro-exp-0827` and `gemini/gemini-1.5-flash-exp-0827`. - Shell and `/run` commands can now be interactive in environments where a pty is available. - Optionally share output of suggested shell commands back to the LLM. - New `--[no-]suggest-shell-commands` switch to configure shell commands. - Performance improvements for autocomplete in large/mono repos. - New `--upgrade` switch to install latest version of aider from pypi. - Bugfix to `--show-prompt`. - Disabled automatic reply to the LLM on `/undo` for all models. - Removed pager from `/web` output. - Aider wrote 64% of the code in this release.
Features
August 27, 2024
- [Keep your prompt cache from expiring](https://aider.chat/docs/usage/caching.html#preventing-cache-expiration) with `--cache-keepalive-pings`. - Pings the API every 5min to keep the cache warm. - You can now bulk accept/reject a series of add url and run shell confirmations. - Improved matching of filenames from S/R blocks with files in chat. - Stronger prompting for Sonnet to make edits in code chat mode. - Stronger prompting for the LLM to specify full file paths. - Improved shell command prompting. - Weak model now uses `extra_headers`, to support Anthropic beta features. - New `--install-main-branch` to update to the latest dev version of aider. - Improved error messages on attempt to add not-git subdir to chat. - Show model metadata info on `--verbose`. - Improved warnings when LLMs env variables aren't set. - Bugfix to windows filenames which contain `\_`. - Aider wrote 59% of the code in this release.
Features
August 23, 2024
- Aider now offers to run shell commands: - Launch a browser to view updated html/css/js. - Install new dependencies. - Run DB migrations. - Run the program to exercise changes. - Run new test cases. - `/read` and `/drop` now expand `~` to the home dir. - Show the active chat mode at aider prompt. - New `/reset` command to `/drop` files and `/clear` chat history. - New `--map-multiplier-no-files` to control repo map size multiplier when no files are in the chat. - Reduced default multiplier to 2. - Bugfixes and improvements to auto commit sequencing. - Improved formatting of token reports and confirmation dialogs. - Default OpenAI model is now `gpt-4o-2024-08-06`. - Bumped dependencies to pickup litellm bugfixes. - Aider wrote 68% of the code in this release. [](https://aider.chat/assets/shell-cmds-small.mp4)
August 20, 2024
- Prompt caching for Anthropic models with `--cache-prompts`. - Caches the system prompt, repo map and `/read-only` files. - Repo map recomputes less often in large/mono repos or when caching enabled. - Use `--map-refresh <always|files|manual|auto>` to configure. - Improved cost estimate logic for caching. - Improved editing performance on Jupyter Notebook `.ipynb` files. - Show which config yaml file is loaded with `--verbose`. - Bumped dependency versions. - Bugfix: properly load `.aider.models.metadata.json` data. - Bugfix: Using `--msg /ask ...` caused an exception. - Bugfix: litellm tokenizer bug for images. - Aider wrote 56% of the code in this release. <img width="871" alt="2024-08-20_09-31-40" src="https://github.com/user-attachments/assets/63f05c05-92b6-4f55-8c0f-a7f738480986">
August 13, 2024
- Infinite output for DeepSeek Coder, Mistral models in addition to Anthropic's models. - New `--deepseek` switch to use DeepSeek Coder. - DeepSeek Coder uses 8k token output. - New `--chat-mode <mode>` switch to launch in ask/help/code modes. - New `/code <message>` command request a code edit while in `ask` mode. - Web scraper is more robust if page never idles. - Improved token and cost reporting for infinite output. - Improvements and bug fixes for `/read` only files. - Switched from `setup.py` to `pyproject.toml`, by @branchvincent. - Bug fix to persist files added during `/ask`. - Bug fix for chat history size in `/tokens`. - Aider wrote 66% of the code in this release.
Features
August 10, 2024
- Add read-only files to the chat context with `/read` and `--read`, including from outside the git repo. - `/diff` now shows diffs of all changes resulting from your request, including lint and test fixes. - New `/clipboard` command to paste images or text from the clipboard, replaces `/add-clipboard-image`. - Now shows the markdown scraped when you add a url with `/web`. - When [scripting aider](https://aider.chat/docs/scripting.html) messages can now contain in-chat `/` commands. - Aider in docker image now suggests the correct command to update to latest version. - Improved retries on API errors (was easy to test during Sonnet outage). - Added `--mini` for `gpt-4o-mini`. - Bugfix to keep session cost accurate when using `/ask` and `/help`. - Performance improvements for repo map calculation. - `/tokens` now shows the active model. - Enhanced commit message attribution options: - New `--attribute-commit-message-author` to prefix commit messages with 'aider: ' if aider authored the changes, replaces `--attribute-commit-message`. - New `--attribute-commit-message-committer` to prefix all commit messages with 'aider: '. - Added `openai/gpt-4o-2024-08-06`. - Worked around litellm bug that removes OpenRouter app headers when using `extra_headers`. - Improved progress indication during repo map processing. - Removed obsolete 16k token limit on commit diffs, use per-model limits. - Aider wrote 61% of the code in this release.
Features
August 6, 2024
- Performance improvements for large/mono repos. - Added `--subtree-only` to limit aider to current directory subtree. - Should help with large/mono repo performance. - New `/add-clipboard-image` to add images to the chat from your clipboard. - Use `--map-tokens 1024` to use repo map with any model. - Support for Sonnet's 8k output window. - [Aider already supported infinite output from Sonnet.](https://aider.chat/2024/07/01/sonnet-not-lazy.html) - Workaround litellm bug for retrying API server errors. - Upgraded dependencies, to pick up litellm bug fixes. - Aider wrote 44% of the code in this release.
Features
July 31, 2024
- [Commit message](https://aider.chat/docs/git.html#commit-messages) improvements: - Added Conventional Commits guidelines to commit message prompt. - Added `--commit-prompt` to customize the commit message prompt. - Added strong model as a fallback for commit messages (and chat summaries). - [Linting](https://aider.chat/docs/usage/lint-test.html) improvements: - Ask before fixing lint errors. - Improved performance of `--lint` on all dirty files in repo. - Improved lint flow, now doing code edit auto-commit before linting. - Bugfix to properly handle subprocess encodings (also for `/run`). - Improved [docker support](https://aider.chat/docs/install/docker.html): - Resolved permission issues when using `docker run --user xxx`. - New `paulgauthier/aider-full` docker image, which includes all extras. - Switching to code and ask mode no longer summarizes the chat history. - Added graph of aider's contribution to each release. - Generic auto-completions are provided for `/commands` without a completion override. - Fixed broken OCaml tags file. - Bugfix in `/run` add to chat approval logic. - Aider wrote 58% of the code in this release.
Features
July 29, 2024
- New `/ask <question>` command to ask about your code, without making any edits. - New `/chat-mode <mode>` command to switch chat modes: - ask: Ask questions about your code without making any changes. - code: Ask for changes to your code (using the best edit format). - help: Get help about using aider (usage, config, troubleshoot). - Add `file: CONVENTIONS.md` to `.aider.conf.yml` to always load a specific file. - Or `file: [file1, file2, file3]` to always load multiple files. - Enhanced token usage and cost reporting. Now works when streaming too. - Filename auto-complete for `/add` and `/drop` is now case-insensitive. - Commit message improvements: - Updated commit message prompt to use imperative tense. - Fall back to main model if weak model is unable to generate a commit message. - Stop aider from asking to add the same url to the chat multiple times. - Updates and fixes to `--no-verify-ssl`: - Fixed regression that broke it in v0.42.0. - Disables SSL certificate verification when `/web` scrapes websites. - Improved error handling and reporting in `/web` scraping functionality - Fixed syntax error in Elm's tree-sitter scm file (by @cjoach). - Handle UnicodeEncodeError when streaming text to the terminal. - Updated dependencies to latest versions. - Aider wrote 45% of the code in this release.
Features
July 18, 2024
- GPT 4o mini scores like the original GPT 3.5 on aider's code editing benchmark, using whole edit format. - Aider is better at offering to add files to the chat on Windows. - Bugfix corner cases for `/undo` with new files or new repos. - Now shows last 4 characters of API keys in `--verbose` output. - Bugfix to precedence of multiple `.env` files. - Bugfix to gracefully handle HTTP errors when installing pandoc. - Aider wrote 42% of the code in this release.
Features
July 16, 2024
- Default pip install size reduced by 3-12x. - Added 3 package extras, which aider will offer to install when needed: - `aider-chat[help]` - `aider-chat[browser]` - `aider-chat[playwright]` - Improved regex for detecting URLs in user chat messages. - Bugfix to globbing logic when absolute paths are included in `/add`. - Simplified output of `--models`. - The `--check-update` switch was renamed to `--just-check-updated`. - The `--skip-check-update` switch was renamed to `--[no-]check-update`. - Aider wrote 29% of the code in this release (157/547 lines).
Features
July 7, 2024
- Use `/help <question>` to [ask for help about using aider](https://aider.chat/docs/troubleshooting/support.html), customizing settings, troubleshooting, using LLMs, etc. - Allow multiple use of `/undo`. - All config/env/yml/json files now load from home, git root, cwd and named command line switch. - New `$HOME/.aider/caches` dir for app-wide expendable caches. - Default `--model-settings-file` is now `.aider.model.settings.yml`. - Default `--model-metadata-file` is now `.aider.model.metadata.json`. - Bugfix affecting launch with `--no-git`.
Features
July 1, 2024
- [Allow Claude 3.5 Sonnet to stream back >4k tokens!](https://aider.chat/2024/07/01/sonnet-not-lazy.html) - It is the first model capable of writing such large coherent, useful code edits. - Do large refactors or generate multiple files of new code in one go. - Aider now uses `claude-3-5-sonnet-20240620` by default if `ANTHROPIC_API_KEY` is set in the environment. - [Enabled image support](https://aider.chat/docs/images-urls.html) for 3.5 Sonnet and for GPT-4o & 3.5 Sonnet via OpenRouter (by @yamitzky). - Added `--attribute-commit-message` to prefix aider's commit messages with "aider:". - Fixed regression in quality of one-line commit messages. - Automatically retry on Anthropic `overloaded_error`. - Bumped dependency versions.
Features
June 24, 2024
- Improved prompting to discourage Sonnet from wasting tokens emitting unchanging code (#705). - Improved error info for token limit errors. - Options to suppress adding "(aider)" to the [git author and committer names](https://aider.chat/docs/git.html#commit-attribution). - Use `--model-settings-file` to customize per-model settings, like use of repo-map (by @caseymcc). - Improved invocation of flake8 linter for python code.
Features
June 20, 2024
- Use `--sonnet` for Claude 3.5 Sonnet, which is the top model on [aider's LLM code editing leaderboard](https://aider.chat/docs/leaderboards/#claude-35-sonnet-takes-the-top-spot). - All `AIDER_xxx` environment variables can now be set in `.env` (by @jpshack-at-palomar). - Use `--llm-history-file` to log raw messages sent to the LLM (by @daniel-vainsencher). - Commit messages are no longer prefixed with "aider:". Instead the git author and committer names have "(aider)" added.
Features
June 17, 2024
- Use `--vim` for [vim keybindings](https://aider.chat/docs/commands.html#vi) in the chat. - [Add LLM metadata](https://aider.chat/docs/llms/warnings.html#specifying-context-window-size-and-token-costs) via `.aider.models.json` file (by @caseymcc). - More detailed [error messages on token limit errors](https://aider.chat/docs/troubleshooting/token-limits.html). - Single line commit messages, without the recent chat messages. - Ensure `--commit --dry-run` does nothing. - Have playwright wait for idle network to better scrape js sites. - Documentation updates, moved into website/ subdir. - Moved tests/ into aider/tests/.
Features
June 4, 2024
- Repo map is now optimized based on text of chat history as well as files added to chat. - Improved prompts when no files have been added to chat to solicit LLM file suggestions. - Aider will notice if you paste a URL into the chat, and offer to scrape it. - Performance improvements the repo map, especially in large repos. - Aider will not offer to add bare filenames like `make` or `run` which may just be words. - Properly override `GIT_EDITOR` env for commits if it is already set. - Detect supported audio sample rates for `/voice`. - Other small bug fixes.
Features