It's hilarious to me how we are recreating decades of IDE advancements such that they work on the terminal, only for us to end up with what is essentially an IDE.
One thing I took from ATProto is a strong belief that user agency and choice are the penultimate design criteria. To those ends, I think that any agentic tooling needs to support the majority of users' choice about how to interact with it (SDK, API, CLI, TUI, IDE, and Web). My custom agent is headed that way anyhow, because there are times where I do want to reach for one of them, and it's easier to make it so with agents working on their own codebase (minus vscode because the testing/feedback I haven't figured out yet)