we went through this exact thing. started on vercel ai sdk, migrated to claude code sdk hoping to get the full agent loop out of the box. same conclusion - it's built for single-user cli, not multi-tenant web backends.
so we ended up building everything ourselves on top of it. e2b sandboxing per session, env var isolation so credentials can't be exfiltrated from the sandbox, sse streaming, persistent threads, cost tracking, logs and session replay. then the ui side - claude code has plan mode, ask user, permission prompts as native cli tools but none of that translates to a web app, so we had to rebuild all of it as react components.
after a few months of this we realized every team shipping agents on claude code or codex is solving the same problems, so we turned our infra into a separate product. docs here if useful - https://21st.dev/agents/docs
We wrote a couple of articles about it, but we were more focused on building on top of CLI-based agents like Claude Code (imagine a lead outreach agent based on Claude Code as an API).
Thank you for the detailed feedback! Really appreciate you taking the time to share these points.
On point 4 (custom answers in Q&A): You're right, this is missing! I'll add the ability to write your own answers today or tomorrow.
On point 1 (scrolling): I pushed a batch of scroll fixes yesterday, but I see it's still not working optimally. We're actively working on improving this - it's definitely on our radar.
On point 2 (split windows): We're planning to add multi-window support soon - so you can have multiple chat windows open side by side, similar to how you'd work with multiple terminal windows, but with a nice UI. Stay tuned!
On point 3 (verbosity control): Great suggestion - sometimes you want to catch assumptions before they cause damage. Adding to our roadmap.
Thanks again, and glad you're finding it useful despite these rough edges!