CLI Session's kinda conflate input buffering with execution; which means latent commands and asynchronous input accumulation don't play well.
It would be good to explore a Session interface rework to cleanly separate the input buffer from the execution flow. Might be tricky though, because command execution is driven by enter key presses...