What is Aider?
Aider is an open-source AI pair programmer designed for the terminal. Run it inside a Git repository, add the files relevant to a task, choose a language model, and describe the change. Aider sends the prompt and selected code context to that model, interprets the proposed edits, updates files on the local machine, and integrates the result with Git.
Its repository map summarizes important symbols and relationships across a codebase so the model can reason about files that are not fully loaded into the chat. Builders can switch between code mode, read-only ask mode, and architect mode. Architect mode uses one model to propose a solution and a second editor model to turn it into concrete edits. Aider can also accept images or webpages, watch files for AI comments, use voice input, and work through several editors or browser-based terminal environments.
The product is best understood as a powerful local controller around external or local models, not as a model provider. Aider's software, analytics, the chosen model API, optional web retrieval, voice service, local shell, and Git repository are separate data and security surfaces.
A disciplined editing workflow
Start with a clean feature branch and inspect the working tree before launching Aider. By default, Aider creates descriptive commits when it edits files. It can also commit pre-existing dirty changes separately before applying its own changes. This protects recoverability, but it may surprise developers who expect an assistant never to commit. Configure --no-auto-commits or --no-dirty-commits when a team requires manual staging.
Another important default is that Aider skips Git commit hooks with --no-verify unless --git-commit-verify is enabled. A generated commit therefore might exist even when local pre-commit security, formatting, license, or policy checks would have failed. Enable verification where hooks are part of the trust boundary, and still run CI independently before merging.
Use ask mode to inspect architecture and agree on scope before switching to code. Name the permitted files, compatibility constraints, expected tests, security boundaries, and acceptance criteria. Add only necessary files to the chat. After each change, inspect /diff, run focused tests, and use /undo or Git history when the result is wrong. Avoid asking for a broad rewrite in one turn.
Aider can automatically lint edited files and attempt repairs. Automatic linting is on by default for supported languages; automatic tests are off unless configured. Set an explicit --test-cmd and decide whether --auto-test is appropriate. A model can repeatedly “fix” test failures while changing behavior, so place a limit on iterations and review the final test expectations, not only the green result.
Models, context, and cost
Aider supports OpenAI, Anthropic, Gemini, DeepSeek, OpenRouter, Azure, Amazon Bedrock, Vertex AI, OpenAI-compatible servers, Ollama, LM Studio, and other routes. Most cloud models require the user's own API key. A ChatGPT or Claude consumer subscription normally does not include API usage; billing and retention follow the API provider and account selected.
The open-source CLI has no subscription charge, but usage is not necessarily cheap. Cost includes input code, repository maps, chat history, output, cache policy, retries, lint or test repair, commit-message generation, and—in architect mode—both architect and editor calls. Monitor the token and cost estimates Aider displays, set provider budgets, use short sessions, clear irrelevant context, and choose model tiers according to task risk.
Local models can keep the primary prompt path on infrastructure you control, but “local” is not automatic privacy. Verify that the endpoint is actually bound to the intended host, does not proxy to a cloud, stores no prompts unexpectedly, and cannot be reached by other users. Model quality also matters: a cheaper model that produces incorrect multi-file changes can cost more in review and remediation.
Data and privacy
When Aider uses a cloud model, relevant source code, prompt text, chat history, diffs, errors, and command or test output can be transmitted to that provider. Review its API terms, training defaults, abuse-monitoring retention, region, subprocessors, account settings, deletion, and enterprise controls. Remove secrets and sensitive fixtures before use; never place API keys in tracked .env or configuration files.
Aider's own analytics are opt-in. The documentation says Aider never collects code, chat messages, keys, or personal information in analytics. It records items such as model and token usage, edit formats, commands, features, exceptions, and errors under a random UUID. A randomly selected user may be prompted to opt in; declining permanently disables analytics. aider --analytics-disable disables it permanently, and analytics can be logged locally without reporting for inspection.
The website privacy policy separately covers visits, cookies, usage and service analytics. Open-source availability helps reviewers inspect collection points, but it does not automatically audit every dependency or installed release. Pin a vetted version, verify package origin and hashes where feasible, review release notes, scan dependencies, and avoid piping an installation script to a shell without inspecting it in controlled environments.
Optional features create additional data paths. /web fetches and scrapes a URL. Voice coding can involve audio services. Shell and test commands run with the current user's permissions. Restrict repository tools and credentials, use a development container or low-privilege account for untrusted projects, and never let generated commands reach production by default.
Security and quality checks
Treat model output like an external pull request. Review changes line by line, run formatting, lint, type checks, unit, integration, and security tests outside the chat, and inspect dependency and lockfile changes. Test authorization, validation, error handling, concurrency, migrations, and rollback when relevant. A passing generated test may encode the same misunderstanding as the implementation.
The Apache 2.0 license permits broad use and modification but provides the software without warranty. It does not grant assurance about generated-code copyright, third-party package licenses, or fitness for a task. Teams remain responsible for provenance, notices, vulnerability management, and the final code.
Verdict
Aider is one of the most transparent choices for developers who want AI editing in a terminal without committing to one model vendor. Its local file operation, repository map, model flexibility, Git history, and test integration support a controlled workflow better than a black-box agent.
That control must be configured. Select an approved model path, disable or inspect analytics according to policy, keep secrets out of context, decide how commits and hooks should work, and require independent CI and human review. With those practices, Aider is a strong fit for bounded, reviewable repository work; without them, a local CLI can still expose code or create unsafe changes quickly.