# Aider 0.86.2: our test log

Canonical: https://theagenticweekly.com/tests/aider · Last verified: 2026-10-25 · Published: 2026-10-25 · Author: Agentic Weekly (operated independently from Texas, US) · Evidence: Tested by us on 2026-10-25. Local open-weight model, not the vendor's hosted models. A smoke test on a CPU-only box, not a benchmark.

> Aider 0.86.2 implemented a missing function with a local 3B model in 3 of 3 trials (27 to 32 s each); it did not install on Python 3.13 without a C++ compiler, and it left a stray placeholder comment in the file.

## Result at a glance

Table: Aider test record

| Field | Value |
|---|---|
| Result | Passed |
| Version tested | 0.86.2 |
| Date and time | 2026-10-25, 22:19 to 22:47 CDT (America/Chicago) |
| Task | In a throwaway folder, give the tool a small bug and ask a local model to fix it through the tool's own file-editing. mathutil.py contained clamp(value, low, high) whose body was `raise NotImplementedError`; test_mathutil.py asserts three clamp cases. Pass means test_mathutil.py prints ok after one aider run. |
| Model used | Qwen2.5-3B-Instruct (Q4_K_M) through Ollama 0.40.11 |
| Hardware | Linux x86_64 virtual machine (Debian 13), 8 vCPU (Intel Xeon, 1 thread per core), 15 GiB RAM, no GPU |
| Install (uv, Python 3.12, cold) | 6.5 s, 555 MB, 110 packages |
| Edit task trials passed | 3 of 3 |
| Edit task wall time | 26.8 to 32.2 s |
| Load average before trials | 4.5 to 8.1 |

## What we found

- 3 of 3 trials produced a working clamp (max(low, min(value, high))) and the test printed ok, in 26.8 to 32.2 s each on a 3B local model, using the whole-file edit format.
- Each result also contained the literal comment "# ... entire content of the file ..." that the model copied from the edit-format instructions. Functionally harmless, but it is junk in your file and shows a small model following the template too literally.
- Aider asks the model to emit a diff-style block for every file in the chat; the 3B model produced an empty block for the test file, and aider logged it as an applied edit. The test file was unchanged (verified with git).

## What we ran, step by step

Table: Commands run, wall-clock time and exit code

| Step | Wall time | Exit code | Notes |
|---|---|---|---|
| Install on Python 3.12 with uv | 6.5 s | 0 | aider 0.86.2, 555 MB on disk, 110 installed packages. Load 0.62. |
| Install on Python 3.13 (first attempt) | n/a | 1 | Failed after 5.8 s: a dependency had to be built from source and meson reported 'Unknown compiler(s): [[c++], [g++], [clang++], [nvc++], ...]'. This machine has gcc but no C++ compiler. On Python 3.12 the same install worked without compiling, so the failure is about a missing prebuilt wheel for 3.13 plus no C++ toolchain. |
| Edit task trial 1 | 29.1 s | 0 | python3 test_mathutil.py printed ok afterwards. Load 4.51. |
| Edit task trial 2 | 32.2 s | 0 | python3 test_mathutil.py printed ok afterwards. Load 6.47. |
| Edit task trial 3 | 26.8 s | 0 | python3 test_mathutil.py printed ok afterwards. Load 8.14. |
| Verification rerun after resetting the repo | 16 s | 0 | git status showed only mathutil.py modified; the test passed. Aider still prints "Applied edit to test_mathutil.py" because the model sent an empty block for it. |

Exact commands (paths shortened)

```
# Install on Python 3.12 with uv
uv venv -q -p 3.12 work/aider312 && VIRTUAL_ENV=work/aider312 uv pip install --no-cache -q aider-chat

# Install on Python 3.13 (first attempt)
uv pip install aider-chat  # on Python 3.13.5

# Verification rerun after resetting the repo
git checkout -- mathutil.py && aider ... && git status --short
```

## Raw output (excerpts)

The aider command (all trials)

```
OPENAI_API_KEY=x OPENAI_API_BASE=http://127.0.0.1:11434/v1 aider --model openai/qwen2.5-3b --edit-format whole --no-show-model-warnings --no-check-update --analytics-disable --no-auto-commits --no-gitignore --no-pretty --no-stream --yes-always --no-detect-urls --map-tokens 0 --message 'Implement clamp in mathutil.py so test_mathutil.py passes. Return value limited to [low, high].' mathutil.py
```

mathutil.py after the run (identical in each trial)

```
def clamp(value, low, high):
    """Return value limited to the range [low, high]."""
    return max(low, min(value, high))

# ... entire content of the file ...
```

test_mathutil.py

```
from mathutil import clamp
assert clamp(5, 0, 10) == 5
assert clamp(-3, 0, 10) == 0
assert clamp(99, 0, 10) == 10
print("ok")
```

Aider output, trial 1 (tail)

```
```



mathutil.py

```diff
@@ -1,3 +1,5 @@
 def clamp(value, low, high):
     """Return value limited to the range [low, high]."""
-    raise NotImplementedError
+    return max(low, min(value, high))
+
+# ... entire content of the file ...
```



This implementation ensures that the `clamp` function returns the value limited 
to the range `[low, high]`.

Tokens: 757 sent, 178 received.
Applied edit to test_mathutil.py
Applied edit to mathutil.py
---
ok
```

## Gotchas and things that broke

- aider-chat did not install on Python 3.13 here: a dependency had no prebuilt wheel for 3.13 and needed a C++ compiler we do not have. Python 3.12 worked. If you use uv, pass -p 3.12, or install a C++ toolchain.
- Small local models cannot use aider's diff edit formats reliably; we forced --edit-format whole, which resends the entire file.
- We disabled analytics, update checks and the repository map to keep the run local and short; defaults were not measured.

## What we did not test

- Any hosted model (aider is mostly used with them).
- Repo-map, git auto-commit, multi-file edits, voice and the browser UI.
- A single toy task; three trials is a smoke test, not a benchmark.

## Reproduce it

Versions change. These commands install whatever is latest on the day you run them unless a version is pinned, so expect different results later. The version we measured is in the table above.

```
uv venv -p 3.12 .venv && VIRTUAL_ENV=.venv uv pip install aider-chat
# serve a local model at http://127.0.0.1:11434/v1 (we used Qwen2.5-3B-Instruct Q4_K_M, name qwen2.5-3b)
# create mathutil.py and test_mathutil.py as shown, git init and commit them, then run the command above
```

## How to read this test

Every number on this page was measured on this one machine, which also ran other jobs, so timings are indicative and vary run to run. A pass means our small task worked once or as stated, a fail means it did not work as we ran it; neither says how the tool behaves with a vendor's frontier model, on a GPU, or at scale. Where a tool could not run without an account or a GPU, we say so instead of guessing.

See the [testing rig](https://theagenticweekly.com/methodology#testing-rig) for the hardware, the local model and the rules we follow, and the [test hub](https://theagenticweekly.com/tests) for every other test.

## FAQ

### Does Aider work with a local model?

Yes for one small edit: 3 of 3 trials on a 3B model with the whole-file edit format. Expect it to be much less reliable with its default diff formats on small models; we did not test that.

### Which Python does Aider need?

In our run Python 3.12 worked; 3.13 failed because a dependency needed compiling and the machine had no C++ compiler.

## Sources

- [Aider repository](https://github.com/Aider-AI/aider) (fetched 2026-10-25)

## Related

- [All test logs](https://theagenticweekly.com/tests)
- [Methodology and testing rig](https://theagenticweekly.com/methodology#testing-rig)
- [Study: install size and first-task results across 16 frameworks](https://theagenticweekly.com/research/agent-framework-install-and-first-task)
- [Aider facts and sources](https://theagenticweekly.com/tools/aider)

## How to cite

Agentic Weekly, "Aider 0.86.2: our test log", last updated 2026-10-25, https://theagenticweekly.com/tests/aider
