I would say that Aider is what defined coding agents. That was at least multiple months before Claude code. I remember seeing a coworker use aider for a hackathon project Adeline November-December 2024 , and it was already decent and pretty close to the DX we consider coding agents to have
Devin and Cline were the original true "agents" IIRC. Aider was the original terminal "agent" but it was't a true agent, it was sort of a hybrid agentic chat, since it had limited recursion ability (3 turns by default) and you had to configure it carefully to make it consistently take multiple turns in a row.
Aider was missing a key feature: automatically executing code. That write-execute-fix loop was the big unlock.
I believe Aider avoided adding that for safety concerns. Claude Code demonstrated that throwing safety to the wing somehow kind of worked out.