Aider Configuration Template
Complete configuration reference for Aider AI pair programming tool. This template includes all valid configuration entries that can be placed in `.aider.conf.yml` at your project root or home directory.
What This Configuration Does
Provides a comprehensive reference for customizing Aider's behavior including model selection, API settings, git integration, output formatting, testing, linting, and more. Use this as a starting point to configure Aider for your specific workflow.
Instructions
1. **Create your configuration file** in one of these locations:
- Project root: `.aider.conf.yml`
- Home directory: `~/.aider.conf.yml`
2. **Select the settings you need** from the categories below. Uncomment and set values for only the options you want to customize.
3. **API Keys**: OpenAI and Anthropic keys can go in the YAML file. For other providers, use a `.env` file as documented at https://aider.chat/docs/config/dotenv.html
4. **Main model selection**: Choose your primary LLM by setting the `model` parameter (e.g., `anthropic/claude-3-7-sonnet-20250219`, `gpt-4o`, `deepseek/deepseek-chat`)
5. **Git integration**: Configure auto-commits, commit message formatting, and whether to attribute changes to aider in git metadata
6. **Code editing**: Set edit format, enable architect mode for multi-file changes, and configure weak/editor models for auxiliary tasks
7. **Output customization**: Adjust colors, themes, streaming, and terminal behavior to match your preferences
8. **Repository mapping**: Control how aider understands your codebase structure with `map-tokens` and `map-refresh` settings
9. **Testing and linting**: Configure automatic test running and lint commands per language
10. **Advanced features**: Enable voice input, GUI mode, file watching, notifications, and more
Configuration Categories
Main Model
`model`: Specify the primary LLM for chat (e.g., `anthropic/claude-3-7-sonnet-20250219`)API Settings
`openai-api-key`: OpenAI API key`anthropic-api-key`: Anthropic API key`openai-api-base`: Custom API endpoint`set-env`: Set environment variables for API configuration`api-key`: Set provider-specific API keys`verify-ssl`: SSL certificate verification (default: true)`timeout`: API call timeout in secondsModel Behavior
`edit-format`: LLM edit format (default depends on model)`architect`: Enable architect mode for multi-file changes`auto-accept-architect`: Auto-accept architect changes (default: true)`weak-model`: Model for commit messages and summarization`editor-model`: Model for editor tasks`reasoning-effort`: Set reasoning effort parameter`thinking-tokens`: Token budget for reasoning models`max-chat-history-tokens`: Soft limit for chat history before summarizationRepository Mapping
`map-tokens`: Tokens for repo map (0 to disable)`map-refresh`: Refresh frequency (auto, always, files, manual)`map-multiplier-no-files`: Multiplier when no files specified (default: 2)Git Integration
`git`: Enable git repo detection (default: true)`auto-commits`: Auto-commit LLM changes (default: true)`dirty-commits`: Allow commits when repo is dirty (default: true)`attribute-author`: Attribute changes in git author (default: true)`attribute-committer`: Attribute in committer name (default: true)`commit-prompt`: Custom prompt for commit messages`gitignore`: Add .aider* to .gitignore (default: true)`aiderignore`: Path to .aiderignore fileTesting and Linting
`lint`: Lint files on demand`lint-cmd`: Lint commands per language (can specify multiple)`auto-lint`: Automatic linting after changes (default: true)`test-cmd`: Command to run tests`auto-test`: Automatic testing after changes (default: false)Output and UI
`dark-mode`: Colors for dark terminal`light-mode`: Colors for light terminal`pretty`: Colorized output (default: true)`stream`: Streaming responses (default: true)`code-theme`: Markdown theme (default, monokai, solarized-dark, etc.)`user-input-color`: User input color (default: #00cc00)`assistant-output-color`: Assistant output color (default: #0088ff)`fancy-input`: History and completion (default: true)`multiline`: Multi-line input mode (default: false)`vim`: VI editing mode (default: false)Voice Input
`voice-format`: Audio format (wav, webm, mp3)`voice-language`: ISO 639-1 language code`voice-input-device`: Input device nameModes and Workflows
`message`: Send single message then exit`gui`: Run in browser (default: false)`watch-files`: Watch for AI coding comments (default: false)`yes-always`: Skip all confirmationsHistory and Logging
`input-history-file`: Input history (default: .aider.input.history)`chat-history-file`: Chat history (default: .aider.chat.history.md)`restore-chat-history`: Restore previous session (default: false)`llm-history-file`: Log LLM conversationOther Settings
`file`: Files to edit (specify multiple)`read`: Read-only files (specify multiple)`encoding`: Input/output encoding (default: utf-8)`line-endings`: Line ending style (default: platform)`suggest-shell-commands`: Suggest shell commands (default: true)`detect-urls`: Detect and offer to add URLs (default: true)`check-update`: Check for updates on launch (default: true)Example Configurations
Minimal Python project setup
```yaml
model: anthropic/claude-3-7-sonnet-20250219
auto-lint: true
lint-cmd:
- "python: ruff check --select=E,F"
auto-commits: true
dark-mode: true
```
Team configuration with testing
```yaml
model: gpt-4o
weak-model: gpt-4o-mini
test-cmd: pytest
auto-test: true
auto-lint: true
git-commit-verify: true
attribute-commit-message-committer: true
```
Performance-focused setup
```yaml
model: deepseek/deepseek-chat
map-tokens: 2048
cache-prompts: true
stream: true
auto-commits: false
```
Important Notes
Only OpenAI and Anthropic API keys can be stored in YAML. Use `.env` for other providers.Configuration precedence: command-line flags > project `.aider.conf.yml` > home directory configMost settings have sensible defaults; only override what you needUse `--help` to see current values and available optionsDeprecated model shortcuts (`--opus`, `--4o`, etc.) should be replaced with `--model` parameterConstraints
SSL verification should remain enabled unless working with self-signed certificatesAuto-commits are recommended to maintain clear change historyRepository mapping tokens affect context quality; start with defaults before tuningArchitect mode requires models that support multi-file editing formatsVoice features require additional dependencies (ffmpeg for webm/mp3)