Choosing a Coding Agent
IDE, CLI or cloud is only the starting point. Five incidents we hit whichever we used, and the operating habits we kept.
Whichever coding agent you pick, things go wrong without operating habits. Here is a quick look at the types, then five incidents we hit regardless of the type.
| Type | How it works | Good for | Watch out for |
|---|---|---|---|
| IDE | Built into the editor | Fast hands-on edits | You only see the diff |
| CLI | Runs commands and tests in the terminal | Automation, verify loops, refactors | Shell state traps |
| Cloud | Async sandbox that opens PRs | Parallel, independent tasks | Reports drift from reality |
For bulk mechanical work, use the cheapest model: translating 299 articles took minutes and cost about $0.10. Each call has a fixed overhead, though, so many tiny calls don’t pay off. For plan prices, see what Claude Code really costs. If you are installing Claude Code for the first time, Getting Started with Claude Code walks from install to a first change.
- We trusted a completion report. It claimed six commits and an open PR after zero tool calls. Now we show git counts every turn and block when a claim contradicts them. Details in Don’t Trust an Agent’s “Done”.
- Working directory carried over between calls. After a
cd, three parallel calls all ran in a subdirectory. Usenpm --prefix,git -C, or a subshell. If an environment variable you set doesn’t take effect, see Claude Code Env Vars Not Working. - Subagents inherited the parent model. Fifteen expensive agents started at once. A small model also decided one test was enough and deleted 195 lines of tests. More in Subagent Failures in Parallel Runs.
- We tried to review until zero findings. One feature took 18 rounds (6 P1, 16 P2). Another never converged: 4→3→4→1→3→2→4. Stop when the findings turn into “could be stricter.” See when to stop AI code review.
- We tried to argue with the permission classifier. It matches strings, not intent. Agents read; humans write and merge, using one script that runs a check query, the write, then a verify query. More in permission design for agents.
Pricing changes every few months. Check current prices before you commit, and with local models compare tokens sent per turn (Why Claude Code Is Slow on Local LLMs covers that option for cutting API costs). Across sessions, keep state out of notes (agent memory design). To compare products, see Claude Code vs Cursor vs Codex in Practice.