Something I keep coming back to after months of using Claude Code and Codex daily, and I'm curious how others see it.
The difference between a chatbot and a coding agent isn't really the model. It's that the agent has hands. ChatGPT in a browser tells you what to do; Claude Code or Codex does it, through the same commands we'd type: `cat` to read a file, `grep` to find something, `sed` or an edit tool to change it, run the tests, read the output, try again. Text in, text out, so the agent can check its own work.
That made me look differently at business software. A lot of the effort in adopting an ERP goes into learning the UI: which menu, which filter, which button. That has little to do with being good at accounting or operations. If an agent can do the navigating, the human part shrinks to what actually needs a human: asking the right question, reading the data, and deciding.
The catch is that most business apps give agents bad hands. With Odoo, which I work with, the options are the web UI (built for eyes, not for agents) or the raw RPC API, where the agent has to know internal model and field names, those names change between major versions, and nothing stops a write.
So I've been experimenting with putting a command-line layer in between, built the way a coding agent likes its tools:
- operations named by business meaning, not by database model
- each operation checked against a stock Odoo, so "it ran" means "it did what Odoo itself would do"
- one structured JSON result, with an error code and a suggested fix the agent can act on
- reads by default; writes are opt-in; risky ones need a human confirmation each time
- a small Python library on top, for notebooks (pandas frames) and scheduled routines an agent summarises each morning; it calls the CLI rather than Odoo, so the same checks apply
- bulk configuration as plan/apply, Terraform style: you review the diff, and apply refuses if the plan changed since you looked
Two things I'm still unsure about, and would like opinions on:
Permissions. The agent acts with whatever account it's given, so access control falls back to the ERP's own user rights. Is that enough for a small business, or does an agent need its own narrower layer on top?
Who is this actually for? Developers get it immediately. But the people I'd most like to help are accountants and small-business owners who have never opened a terminal. Is "install an agent, then just talk to it" a realistic ask for them today, or is that still too far?
For full disclosure, I build this layer (odoo-cli, open source), but I'm more interested in whether the idea holds up than in pointing anyone to it.