DEV Community

Nic Flemmer
Nic Flemmer

Posted on

Do you drive coding agents through their terminal UI or their protocol?

When I started running several coding agents from one app, the obvious approach was to give each a pseudo-terminal and type into it, the way a person would. It worked for a while.

Then it didn't. Codex's terminal UI wouldn't take a message I typed in through a pty while it was working, so I couldn't steer it mid-task. Screen output changes between versions. And parsing a TUI to find out whether an agent is waiting for you is guesswork.

What works better is each agent's own protocol. Claude Code streams JSON events. Codex has codex app-server, which lets you send a message mid-turn. Gemini CLI and Cursor's agent speak ACP, the Agent Client Protocol. You get structured events: a tool call, a question, a finished turn. No screen scraping.

The cost is that there's no single standard yet, so it's one adapter per agent, and each protocol changes as fast as the agent does.

If you build on top of agent CLIs: are you on their protocols, still on the terminal, or waiting for one standard to win? And has anyone moved everything to ACP?

Top comments (0)