Given that it doesn't support multiple tool calls, one thing I noticed that is not ideal is that it seems to buffer stdout and stderr. This means that I don't see any output if the command takes 10 minutes, and I also can't see stdout mixed with stderr. It would be ideal to actually "exec" the target process instead, honestly. https://doc.rust-lang.org/std/os/unix/process/trait.CommandE...
This one is a bit tricky. The tool needs the output to process stuff after the AI returns results. And since the focus is on rather short interactions, this is an OK-ish tradeoff I believe. But I will give it a couple more thoughts, not saying no to it, but need to go through the possible ramifications.