have you experimented with --resume ?
the agent is a node js application - you can ask cursor to modify it if you want to get your hands dirty, so you could then hook into the IO of an agent process that stays running…
another idea - I think there’s 2 or 3 hooks that the agent kindof half obeys - maybe you could write a hook that deliberately blocks until the user starts talking?