There's a new, more data-efficient way to train command-line agents. Microsoft Research has released ECHO, a training method that makes CLI agents not just learn "what command to type next" but also "what the terminal will return after typing that command."
In traditional training, the terminal's error messages, logs, file contents, and test results are usually just fed into the context to help the model decide its next action. But the training loss is computed only on the commands the agent generates — the terminal output itself doesn't directly participate in training.
ECHO changes that: during the same training step, it additionally asks the model to predict the terminal output. For example, if an agent runs a test and fails, conventional training only knows that the trajectory ended in failure. ECHO also makes the model learn exactly what error was returned, what clues appeared in the files, and what consequences the command produced.
In effect, it squeezes training value out of failed trajectories. Experiments on TerminalBench-2.0 show that Qwen3-8B's pass@1 jumped from 2.70% to 5.17%, and Qwen3-14B's from 5.17% to 10.79% — nearly doubling compared to GRPO-only training.
On training efficiency, ECHO in some 8B experiments achieved the same internal score using about 2.3× fewer training steps. It also reduces reliance on expert demonstration data: an ECHO agent based on Qwen3-8B matched the performance of OpenThoughts-Agent, which was fine-tuned on about 15,000 expert trajectories.
But ECHO isn't a universal reward signal replacement. Self-improvement without a verifier works well only on tasks with clear feedback: PyTerm improved by 10.0 percentage points, ITD by 5.2 points. On the more complex TBLite, it actually dropped by 3.9 points. What it really proves is that terminal errors, logs, and test outputs aren't just context — they can be turned directly into agent training data.