AI

Aider Cheat Sheet – AI Pair Programming Commands and Workflows

Aider is a git-native AI pair programming tool that runs in your terminal, edits your files, and writes a commit per change. The CLI exposes 175+ flags, four chat modes, 43 in-chat slash commands, and a YAML config schema with around 100 keys. The official docs split that surface across many pages. This cheat sheet condenses everything into one reference, with every command tested on a real macOS install of Aider 0.86.2 against multiple LLM providers.

Original content from computingforgeeks.com - post 167356

If you came from the Aider setup guide and want one page open while you work, this is it.

Verified working: May 2026 with Aider 0.86.2, tested on macOS against Claude Haiku 4.5 and Sonnet 4.6 (via OpenRouter), with real cost and token counts captured from a fresh test repository.

Quick install reminder

The recommended path on Linux and macOS is uv tool install, which pins a working Python and pulls Aider into an isolated environment:

uv tool install aider-chat
aider --version
aider 0.86.2

The pipx install aider-install bootstrapper still works but adds a layer. uv is faster and avoids Python version mismatches. For provider keys, .env layout, and Windows install paths see the dedicated Aider AI pair programming setup.

Where Aider stores config

Aider reads four sources in priority order. Top of the list wins:

  1. CLI flags: aider --model openrouter/anthropic/claude-sonnet-4.6
  2. Environment variables: every flag has an AIDER_* twin (AIDER_MODEL, AIDER_OPENAI_API_KEY, AIDER_AUTO_COMMITS)
  3. Config file: .aider.conf.yml searched in git root, then current working directory, then $HOME
  4. Built-in defaults

API keys belong in a separate .env file (default location: project root, also gitignored automatically by the first-run prompt):

# .env (in your repo root)
ANTHROPIC_API_KEY=sk-ant-api03-...
OPENAI_API_KEY=sk-proj-...
GEMINI_API_KEY=aiza...
OPENROUTER_API_KEY=sk-or-v1-...
DEEPSEEK_API_KEY=sk-...

And a working .aider.conf.yml validated end to end on macOS:

# .aider.conf.yml
model: openrouter/anthropic/claude-sonnet-4.6
weak-model: openrouter/anthropic/claude-haiku-4.5
editor-model: openrouter/anthropic/claude-sonnet-4.6
auto-commits: true
auto-lint: true
no-show-model-warnings: true
no-show-release-notes: true
lint-cmd:
  - "python: ruff check --fix"
  - "javascript: eslint --fix"
  - "go: golangci-lint run --fix"
test-cmd: "pytest -x"
suggest-shell-commands: true
notifications: true
show-diffs: true
chat-history-file: .aider.chat.history.md
input-history-file: .aider.input.history
alias:
  - "haiku:openrouter/anthropic/claude-haiku-4.5"
  - "sonnet:openrouter/anthropic/claude-sonnet-4.6"
  - "opus:openrouter/anthropic/claude-opus-4.7"

First-run behaviour and auto-gitignore

On the first launch in a git repo, Aider asks to add its history files to .gitignore. Real prompt:

Add .aider* to .gitignore (recommended)? (Y)es/(N)o [Yes]: Y
Added .aider* to .gitignore

Skip this with --no-gitignore. Always answer yes unless you have a strong reason. .aider.chat.history.md contains complete prompts and responses, including any code or configuration the model handled.

Top-level CLI flags reference

The full flag list is around 175 entries. Run aider --shell-completions bash for the exhaustive set. The table below is the working reference for the flags you actually use day to day.

FlagEnv var twinPurpose
--model MODELAIDER_MODELMain chat model. Format: provider/model-id.
--weak-model MODELAIDER_WEAK_MODELCheap model for commit messages and summaries.
--editor-model MODELAIDER_EDITOR_MODELEditor model used in architect mode.
--editor-edit-format FMTAIDER_EDITOR_EDIT_FORMATEdit format for the editor model.
--list-models QUERYAIDER_LIST_MODELSPrint every model whose name contains QUERY.
--alias "name:model"AIDER_ALIASDefine a model alias. Repeatable.
--api-key PROVIDER=KEYAIDER_API_KEYSet provider key inline.
--set-env VAR=VALAIDER_SET_ENVSet arbitrary env vars before starting.
--reasoning-effort LEVELAIDER_REASONING_EFFORTReasoning knob for o-series and Sonnet 4.6+ thinking.
--thinking-tokens NAIDER_THINKING_TOKENSCap on thinking tokens.
--edit-format FMTAIDER_EDIT_FORMATdiff, whole, udiff, diff-fenced.
--architectAIDER_ARCHITECTSwitch on architect mode (planner + editor).
--auto-accept-architectAIDER_AUTO_ACCEPT_ARCHITECTSkip the architect/editor confirmation. Default true.
--map-tokens NAIDER_MAP_TOKENSRepo map token budget. 0 disables.
--map-refresh MODEAIDER_MAP_REFRESHauto (default), always, files, manual.
--cache-promptsAIDER_CACHE_PROMPTSUse prompt caching where the provider supports it.
--cache-keepalive-pings NAIDER_CACHE_KEEPALIVE_PINGSPing every 5 minutes for N intervals to keep the cache warm.
--max-chat-history-tokens NAIDER_MAX_CHAT_HISTORY_TOKENSCompact older history above this threshold.
--no-gitAIDER_GITRun without git (no auto-commits, no diff flow).
--no-auto-commitsAIDER_AUTO_COMMITSKeep git but disable per-edit commits.
--dirty-commits / --no-dirty-commitsAIDER_DIRTY_COMMITSCommit pre-existing dirty changes when Aider runs.
--commitAIDER_COMMITCommit existing changes with an LLM-written message, then exit.
--commit-prompt PROMPTAIDER_COMMIT_PROMPTOverride the system prompt used to write commit messages.
--dry-runAIDER_DRY_RUNShow edits, do not write files. Verified.
--lintAIDER_LINTLint and fix existing code, then exit.
--lint-cmd "lang: cmd"AIDER_LINT_CMDPer-language lint command. Repeatable.
--auto-lintAIDER_AUTO_LINTLint after every edit cycle. Default on.
--testAIDER_TESTRun tests and let Aider iterate fixes.
--test-cmd CMDAIDER_TEST_CMDTest command Aider uses for --test and --auto-test.
--auto-testAIDER_AUTO_TESTRun tests after every successful edit.
--watch-filesAIDER_WATCH_FILESRe-read changed files automatically. Hands-free AI! markers.
--message MSG / -mAIDER_MESSAGESend single message, exit.
--message-file PATH / -fAIDER_MESSAGE_FILERead the one-shot prompt from a file.
--load PATHAIDER_LOADReplay a saved /command file on launch.
--apply FILEAIDER_APPLYApply a SEARCH/REPLACE diff file Aider produced earlier. Verified.
--apply-clipboard-editsAIDER_APPLY_CLIPBOARD_EDITSApply edits pasted into the clipboard.
--show-repo-mapAIDER_SHOW_REPO_MAPPrint the repo map and exit. Useful for debugging.
--show-promptsAIDER_SHOW_PROMPTSPrint the assembled system prompts and exit.
--browser / --guiAIDER_GUILaunch the Streamlit browser UI.
--copy-pasteAIDER_COPY_PASTEClipboard ferry mode for offline workflows.
--vimAIDER_VIMVI editing mode in the input.
--multilineAIDER_MULTILINEMulti-line input (Meta-Enter submits).
--yes-alwaysAIDER_YES_ALWAYSAuto-confirm every prompt.
-c, --config PATHAIDER_CONFIGUse an explicit config file.
--env-file PATHAIDER_ENV_FILEUse an explicit .env file.
--upgradeAIDER_UPGRADEUpgrade in place. Verified.
--just-check-updateAIDER_JUST_CHECK_UPDATEExit code reflects whether a new version is available.
--shell-completions SHELLAIDER_SHELL_COMPLETIONSPrint bash, zsh, or tcsh completions.

Model selection and provider routing

Aider speaks every major LLM provider through LiteLLM. The model string is provider/model-id. Skip the provider for OpenAI:

# Anthropic (direct)
aider --model anthropic/claude-sonnet-4-6
aider --model anthropic/claude-opus-4-7

# OpenAI (no provider prefix)
aider --model gpt-5
aider --model o3

# Google
aider --model gemini/gemini-2.5-pro
aider --model gemini/gemini-2.5-flash

# DeepSeek
aider --model deepseek/deepseek-chat
aider --model deepseek/deepseek-reasoner

# AWS Bedrock (requires AWS_PROFILE)
aider --model bedrock/anthropic.claude-sonnet-4-6

# OpenRouter (single key, all providers, validated working in this guide)
aider --model openrouter/anthropic/claude-sonnet-4.6
aider --model openrouter/anthropic/claude-haiku-4.5
aider --model openrouter/google/gemini-2.5-pro

# Local Ollama
aider --model ollama_chat/llama3.3:70b
aider --model ollama_chat/qwen2.5-coder:32b

If you misspell the model name, Aider suggests close matches. Real warning captured during testing:

Warning for openrouter/anthropic/claude-haiku-4-5: Unknown context window size and costs.
Did you mean one of these?
- openrouter/anthropic/claude-3-5-haiku
- openrouter/anthropic/claude-3-haiku
- openrouter/anthropic/claude-haiku-4.5

Filter the full model list from the CLI:

$ aider --list-models claude
Models which match "claude":
- anthropic/claude-haiku-4-5
- anthropic/claude-opus-4-7
- anthropic/claude-sonnet-4-6
- anthropic/claude-sonnet-4-5-20250929
- ... 90+ more across providers

Built-in aliases

Aider ships preset shortcuts for the common models. Use them anywhere a model name would go:

AliasResolves to
opusclaude-opus-4-7
sonnetclaude-sonnet-4-6
haikuclaude-haiku-4-5
4ogpt-4o
minigpt-4o-mini
flashgemini-2.5-flash
deepseekdeepseek/deepseek-chat
r1deepseek/deepseek-reasoner

Override or extend with --alias on the CLI or under the alias: key in .aider.conf.yml. CLI definitions win, then config-file aliases, then built-in aliases. Once defined, switch mid-session with /model haiku.

Main, weak, and editor models

  • Main model: handles your prompts and code edits. Pick the smartest model your budget allows.
  • Weak model: writes commit messages, summarises history. Cheap is fine. claude-haiku-4-5, gpt-5-mini, gemini-2.5-flash.
  • Editor model: in architect mode, applies the planner’s instructions to files. Pick a model strong at structured output.

Chat modes

Switch modes mid-session with the corresponding slash command. Each mode shapes Aider’s behaviour:

ModeSlashBehaviour
Code (default)/codeReads, edits, commits. The standard pair-programming loop.
Architect/architectTwo-step. A planner model proposes changes, the editor model applies them. Best for larger refactors.
Ask/askRead-only Q&A. No edits. Best for code review and exploration.
Help/helpAider answers questions about itself, including command and config questions.

/ask vs /code workflow

The single highest-impact technique on Aider is bouncing between modes. Plan in /ask, execute in /code:

/ask How would you refactor src/auth/login.py to extract the rate-limiter into its own module?
... model proposes 3 options, you pick option 2 ...
/code go ahead with option 2 but keep the existing log lines in place

Real /ask response captured against a deliberately broken divide() function (token cost: 247 sent, 109 received, $0.00079 via OpenRouter Haiku 4.5):

$ aider --message "/ask What is the bug in divide()?" calculator.py

The function will raise a `ZeroDivisionError`.
To fix it, you should add a check:

def divide(a, b):
    if b == 0:
        raise ValueError("Cannot divide by zero")
    return a / b

Or handle it another way depending on your use case.

Tokens: 247 sent, 109 received. Cost: $0.00079 message, $0.00079 session.

Architect mode

Architect mode runs two models per turn. A planner proposes the change in plain language, an editor applies it. Best for refactors that touch more than two files. A typical pairing:

aider --architect \
  --model anthropic/claude-opus-4-7 \
  --editor-model anthropic/claude-sonnet-4-6 \
  --auto-accept-architect

The two-pass design measurably improves quality on real-world refactors and usually saves money over running the architect model alone for the entire task. The editor model emits the structured diffs, freeing the architect from format constraints.

Slash commands inside Aider

43 in-chat commands as of 0.86.x, captured exactly from the official reference and validated against a live install. Memorise the ones marked with a star, the rest are reachable by typing / and tabbing.

CommandPurpose
/add <files> *Add files to the chat (Aider can edit them).
/drop [files] *Remove files from the chat. No args drops everything.
/lsList files currently in the chat.
/read-only <files> *Add files for reference but block edits.
/clearClear the visible chat history.
/resetDrop all files and clear history.
/tokens *Print token usage for the current chat.
/costShow the running session cost.
/code *Switch to code mode (or run one prompt in code mode).
/architect *Switch to architect mode.
/ask *Switch to ask mode (read-only).
/chat-mode <name>Generic mode switcher.
/contextEnter context mode.
/model <name> *Switch the main model on the fly.
/models <query>Search the available models list.
/editor-model <name>Switch the editor model.
/weak-model <name>Switch the weak model.
/think-tokens NSet thinking-token budget per turn.
/reasoning-effort LEVELSet reasoning effort for compatible models.
/diff *Show the diff Aider just wrote.
/undo *Revert the last commit Aider made.
/git <cmd>Run a git command without leaving the agent.
/commit [msg]Commit dirty changes manually.
/run <cmd> *Run a shell command and feed the output into the chat. Alias: !.
/test [cmd]Run the configured test command. Aider sees the output.
/lintRun the configured lint command.
/web <url>Fetch a URL and add the rendered text to the chat.
/voiceVoice input via Whisper. Requires portaudio.
/pastePaste image or text from the clipboard.
/copyCopy the last assistant reply to the clipboard.
/copy-contextCopy chat context as markdown.
/load PATHRun a saved /command script.
/save PATHSave the current session as a replayable script.
/multiline-mode or /mlToggle multi-line input.
/vimToggle Vim key bindings.
/edit or /editor [cmd]Open $EDITOR for a long prompt.
/mapPrint the current repo map.
/map-refreshForce a repo-map refresh now.
/settingsPrint effective settings.
/okShorthand approval (used in Architect mode).
/reportOpen a pre-filled GitHub issue with anonymised diagnostics.
/helpAider answers questions about itself.
/quit or /exitExit cleanly.

Files, repo map, and context

Aider always sends three things to the model: the files in the chat (full contents), the repo map (skeleton of every other file), and the conversation history. Tune each lever based on repo size and budget.

/add and /drop discipline

Smaller chats run faster, cost less, and produce sharper edits. Add files when you need them, drop them when done:

/add src/auth/*.py
/add tests/auth/test_login.py

# After the change is in
/drop tests/auth/test_login.py

/read-only for reference docs

/read-only docs/api-spec.md
/read-only ../external-lib/v3/types.d.ts

Repo map tuning

Inspect what the model sees with aider --show-repo-map. Real output from a 2-file test repo:

$ aider --show-repo-map
Here are summaries of some files present in my git repository.
Do not propose changes to these files, treat them as *read-only*.
If you need to edit any of these files, ask me to *add them to the chat* first.

README.md

calculator.py:
│def add(a, b):
⋮
│def divide(a, b):
⋮

Default budget is 4096 tokens with auto-refresh. Raise to --map-tokens 8192 on a sprawling monorepo, lower to 0 on a tiny repo to save tokens.

aider --map-tokens 4096 --map-refresh auto
/map           # inspect what the model sees inside a session
/map-refresh   # rebuild after big file moves

Git integration and atomic commits

Aider commits after every successful edit by default. Each commit message is generated by the weak model and the agent is recorded as the committer. The defining workflow benefit: every change becomes a reviewable, revertable git commit:

$ git log --oneline -5
a3f1c2d feat: Add input validation to registration form
b7e4a1f refactor: Extract email parsing into utility module
c9d2e3a fix: Handle null case in user profile serialization

Commit-related flags

# Disable auto-commits for the session
aider --no-auto-commits

# Commit existing dirty changes before Aider edits
aider --dirty-commits

# Stop trusting Aider with author attribution
aider --no-attribute-author --no-attribute-committer

# Use Co-authored-by trailer instead (default)
aider --attribute-co-authored-by

# Skip git entirely (no repo, no commits, no diffs)
aider --no-git

# Run pre-commit hooks (off by default)
aider --git-commit-verify

Standalone –commit mode

Wrote some code by hand and want an LLM-generated commit message? Run Aider in commit-only mode:

# Stage your changes first, then
aider --commit \
  --weak-model openrouter/anthropic/claude-haiku-4.5 \
  --no-show-release-notes

Undo and diff loops

> refactor src/auth/login.py to use bcrypt instead of argon2
... edits applied, commit abc123
/diff             # what changed
/undo             # back out the commit
> refactor src/auth/login.py to use bcrypt, but keep the existing rate-limiter intact

–apply for replaying an edit

Aider’s edit format is plain-text SEARCH/REPLACE blocks. Save one to a file, replay it later with --apply. Validated end-to-end on macOS with the diff below:

# sample.diff
calculator.py
<<<<<<< SEARCH
def add(a, b):
    return a + b
=======
def add(a, b):
    """Add two numbers."""
    return a + b
>>>>>>> REPLACE
$ aider --apply sample.diff --no-auto-commits
calculator.py
Applied edit to calculator.py

Pair with --dry-run to see what the apply would change without writing files. Verified output:

$ aider --dry-run --apply sample.diff
calculator.py
Did not apply edit to calculator.py (--dry-run)

Use --apply-clipboard-edits to read the SEARCH/REPLACE block straight from the system clipboard, useful when you copy edits from a chat.

Linting and testing in the loop

Aider can run your linter and test suite after every edit and feed the output back into the chat. The “self-healing” loop: model edits, lint fails, model fixes, tests pass.

# Per-language lint commands
aider \
  --auto-lint \
  --lint-cmd "python: ruff check --fix" \
  --lint-cmd "javascript: eslint --fix" \
  --lint-cmd "go: golangci-lint run --fix"

# Test command Aider iterates against
aider \
  --auto-test \
  --test-cmd "pytest -x --tb=short"

Inside a session you can trigger the same flow on demand:

/lint
/test
/test pytest tests/test_auth.py -v

Standalone modes also work: aider --lint --no-auto-commits lints and fixes existing files then exits, aider --test --test-cmd pytest runs the test suite, fixes failures, and exits.

Watch-files mode for IDE-style flow

--watch-files turns Aider into a passive sidecar. Edit any file in your editor, append a special AI! or AI? marker, save, Aider picks it up automatically.

aider --watch-files

Marker placement (works across syntaxes: #, //, --, <!--):

def calculate_tax(price, rate):  # validate inputs, raise on negatives. AI!
    return price * rate

Save. Aider detects the marker, reads context, makes the change, commits, clears the marker. Use AI? for “explain this” rather than “edit this”. Stay in your editor; Aider works asynchronously.

Browser UI

aider --browser
# or
aider --gui

Streamlit-based UI on http://127.0.0.1:8501. Same model, same files, same slash commands, just rendered in a browser. Useful when sharing a session over a remote desktop or pairing with someone watching.

Voice and image input

# Voice input
sudo apt install -y portaudio19-dev   # Ubuntu / Debian
brew install portaudio                # macOS
aider --voice-language en
> /voice
> (speak your prompt)

# Paste a screenshot from the clipboard
aider --model anthropic/claude-sonnet-4-6
> /paste
> explain this error in the screenshot

Headless and CI mode

The --message and --message-file flags drive non-interactive runs. Combine with --yes-always for unattended pipelines:

# One-shot CI fix
aider \
  --message "fix every failing pytest in tests/" \
  --yes-always \
  --auto-test --test-cmd "pytest -x" \
  --no-show-release-notes

# Apply a precomputed prompt file
aider --message-file .ci/upgrade-django.txt --yes-always

# Replay a saved /command script (deterministic session)
aider --load .aider/commands/refactor-auth.txt

Real Q&A captured during validation, against a 2-file test repo via OpenRouter Claude Haiku 4.5:

$ aider --model openrouter/anthropic/claude-haiku-4.5 \
    --no-stream --no-show-release-notes --no-auto-commits --yes-always \
    --message "What does the divide function do? One sentence." \
    calculator.py

Aider v0.86.2
Main model: openrouter/anthropic/claude-haiku-4.5 with diff edit format
Weak model: openrouter/anthropic/claude-haiku-4-5
Git repo: .git with 2 files
Repo-map: using 4096 tokens, auto refresh
Added calculator.py to the chat.

The `divide` function takes two numbers as arguments and returns the result of
dividing the first number by the second.

Tokens: 2.8k sent, 27 received. Cost: $0.0029 message, $0.0029 session.

Caching and history

Prompt caching is a major cost lever on Anthropic and OpenAI. Turn it on, then keep the cache warm during pauses (Anthropic’s TTL is 5 minutes; the keep-alive pings extend it):

aider --cache-prompts --cache-keepalive-pings 12

History files default to .aider.input.history and .aider.chat.history.md at the repo root. The chat history is human-readable Markdown, easy to grep:

grep -A4 "refactor login" .aider.chat.history.md
aider --restore-chat-history    # default false
aider --no-restore-chat-history # explicit blank start

Aliases and the model metadata file

Long model names get tedious. Define aliases in the config file:

# .aider.conf.yml
alias:
  - "sonnet:openrouter/anthropic/claude-sonnet-4.6"
  - "opus:openrouter/anthropic/claude-opus-4.7"
  - "fast:openrouter/anthropic/claude-haiku-4.5"
  - "g25:openrouter/google/gemini-2.5-pro"
  - "local:ollama_chat/qwen2.5-coder:32b"

Then pick from the CLI:

aider --model sonnet
aider --model opus --weak-model fast --editor-model sonnet

For non-default models or self-hosted endpoints define metadata in .aider.model.metadata.json at the repo root or $HOME:

{
  "openai/local-llama": {
    "max_tokens": 8192,
    "max_input_tokens": 32000,
    "input_cost_per_token": 0,
    "output_cost_per_token": 0,
    "litellm_provider": "openai",
    "supports_function_calling": false
  }
}

Debug and introspection commands

Three flags exit immediately after printing internal state. Useful when something is off:

# What does the model see in the repo map?
aider --show-repo-map

# What system prompt does Aider build?
aider --show-prompts

# Real first chunk captured on macOS:
SYSTEM Act as an expert software developer.
SYSTEM Always use best practices when coding.
SYSTEM Respect and use existing conventions, libraries, etc that are already
SYSTEM   present in the code base.
...

# Will the local Aider start cleanly without doing anything?
aider --exit

Upgrading and version checks

# Verify the install
aider --version
# Output: aider 0.86.2

# Check for a new release (no install)
aider --just-check-update

# Upgrade in place. Real output captured:
$ aider --upgrade
Installing: ... -m pip install --upgrade --upgrade-strategy only-if-needed aider-chat
Installation complete.
Re-run aider to use new version.

# Try the bleeding edge
aider --install-main-branch

Common errors and fixes

Error: “litellm.AuthenticationError”

Provider key is missing or wrong. Verify the key is exported, the env var name matches the provider (ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, OPENROUTER_API_KEY), and the .env file is in the repo root that Aider runs from.

Error: “Failed to build numpy”

Shows up when pipx install aider-chat picks a Python that the pinned NumPy refuses to compile against (notably Python 3.14). The fix is either uv tool install aider-chat (which selects a compatible Python automatically) or the aider-install bootstrapper.

Warning: “Unknown context window size and costs”

The model name is not in LiteLLM’s metadata table. Aider still routes the request, but it cannot show accurate token costs. Add an entry in .aider.model.metadata.json or pass --no-show-model-warnings.

Issue: portaudio missing on Linux or macOS

/voice requires the system PortAudio library. Install it with sudo apt install -y portaudio19-dev on Debian/Ubuntu, sudo dnf install -y portaudio-devel on Rocky/AlmaLinux/Fedora, or brew install portaudio on macOS before launching Aider.

Error: “OpenRouter authentication did not complete”

Aider tried to open a browser-based OAuth flow on a headless box. Either set the provider key directly (OPENROUTER_API_KEY in .env) or pass --api-key openrouter=<key>.

Aider vs Claude Code vs Codex CLI vs Gemini CLI vs OpenCode

  • Aider: git-native, multi-provider, repo-map-aware, command-rich, atomic per-edit commits. Best when you want fine-grained control and provider flexibility.
  • Claude Code: deepest agent ecosystem, hooks, skills, plugins, MCP. See the Claude Code cheat sheet.
  • Codex CLI: tight focus, OpenAI-only, very strong at short surgical refactors. See the Codex CLI cheat sheet.
  • Gemini CLI: free OAuth tier, 1M-token context, custom TOML commands. See the Gemini CLI cheat sheet.
  • OpenCode: open-source TUI, server-mode native. See the OpenCode CLI cheat sheet.
  • For the multi-tool comparison, see OpenCode vs Claude Code vs Cursor.

Frequently asked questions

Where is the Aider config file?

Aider searches for .aider.conf.yml in the git repo root, then the current working directory, then $HOME. The first one found wins. Pass -c PATH to override entirely.

How do I disable auto-commits?

Pass --no-auto-commits on the command line, or set auto-commits: false in .aider.conf.yml. Aider will still track edits, you just commit yourself with /commit or external git.

What is architect mode in Aider?

Architect mode runs two models per turn. A planner model proposes the change in plain language, an editor model applies the change to files. Useful for larger refactors where structured output and reasoning come from different model strengths. The two-pass design measurably improves quality and usually saves money over running the architect model alone.

How do I use Aider with Ollama?

Run ollama serve, pull a coder-tuned model with ollama pull qwen2.5-coder:32b, then launch Aider with aider --model ollama_chat/qwen2.5-coder:32b. Pair with the Ollama commands cheat sheet for model management.

How do I use Aider with OpenRouter?

Set OPENROUTER_API_KEY in .env, then prefix every model with openrouter/: aider --model openrouter/anthropic/claude-sonnet-4.6. One key gives you Anthropic, OpenAI, Google, DeepSeek, Mistral, and dozens more, validated working in this guide.

Can Aider run in CI?

Yes. Use --message for a one-shot prompt, --yes-always to auto-confirm, --auto-test --test-cmd "pytest" for self-healing test runs, and --no-show-release-notes to keep logs clean. Token cost and a session-end summary print to stdout so you can capture them in your CI logs.

Does Aider support MCP servers?

Not as of Aider 0.86.x. MCP support is on the roadmap. For workflows that depend on MCP today, Claude Code, Cursor, and Cline are better fits.

Keep this open while you work

Aider’s surface keeps growing release after release. When a new version ships check the freshness block at the top of this page, then re-read the section that changed. Pair this with the Aider setup guide for first-time install, the Claude Code cheat sheet if you alternate between agents, and the Gemini CLI cheat sheet when you want to compare notes.

Related Articles

AI Claude Design Tutorial: Generate Decks, Wireframes & Prototypes Jenkins How To Install Jenkins Server on CentOS 7 / RHEL 7 Automation Install and use Packer on Ubuntu 22.04/20.04/18.04/16.04 Automation Automate Kubernetes Container Image Updates with Keel

Leave a Comment

Press ESC to close