Summary
Currently, WebChat (the built-in Control UI) only supports a single active session at a time. Users cannot create, view, or switch between multiple isolated sessions (e.g., "Work", "Writing", "AI News") within the WebChat interface.
This limits productivity for users who want to:
- Separate contexts (work vs. personal vs. testing)
- Maintain independent conversation histories
- Use the same agent with different memory spaces for different tasks
Problem to solve
Add a session switching sidebar to the WebChat UI (similar to Discord's channel list) that allows users to:
- View all active sessions – List sessions with display names/labels
- Create new sessions – Button to spawn a new isolated session with a custom label
- Switch between sessions – Click to change the active session context
- See session metadata – Last activity time, model used, token usage (optional)
Proposed solution
Register subagent_spawning hook in the WebChat channel plugin (currently missing)
- Enable
thread: true support for sessions_spawn in WebChat
- Add frontend UI component for session list/switcher in
/dist/control-ui/
- Support session renaming/labeling (not just UUIDs)
Alternatives considered
No response
Impact
Impact
Affected Users/Systems
- Primary users: Power users who manage multiple projects/contexts simultaneously
- Affected channel: WebChat (built-in Control UI)
- Affected systems:
sessions_spawn tool, session management UI
Severity
🟠 Blocks workflow - Users cannot achieve true context isolation without switching to a different channel (e.g., Discord). This defeats the purpose of using WebChat as a self-contained solution.
Frequency
Always - Every time a user attempts to:
- Create a new isolated session via
sessions_spawn with thread: true
- View or switch between multiple sessions in the WebChat UI
- Use WebChat for multi-project workflows
Practical Consequences
- Extra manual work: Users must prefix messages with tags like
[Work] or [AI News] to simulate separation (no true memory isolation)
- Forced platform migration: Users who want multi-session must set up Discord or another channel, adding configuration overhead
- Memory pollution: All conversations mix into a single session, reducing response quality and increasing token usage
- Productivity loss: Cannot maintain parallel contexts (e.g., testing features while doing daily work) without manual context-switching overhead
- Inconsistent experience: Discord users get full multi-session support; WebChat users get single-session only
Current Workaround (Suboptimal)
- Use
sessions_spawn without thread: true → sessions created but not visible/switchable in UI
- Manually track session keys and use
sessions_send → requires command-line knowledge
- Switch to Discord → requires external platform setup
Expected Behavior After Fix
- WebChat users can create, view, and switch sessions as easily as Discord users
- True memory isolation between projects/contexts
- No need for external platforms for multi-session workflows
Evidence/examples
No response
Additional information
- Current behavior:
sessions_spawn with thread: true returns error: "thread=true is unavailable because no channel plugin registered subagent_spawning hooks."
- Discord implementation: Already supports this via
channels.discord.threadBindings.* config – WebChat could follow a similar pattern.
- Use case: Power users managing multiple projects/tasks want persistent, isolated sessions without leaving the WebChat interface.
Summary
Currently, WebChat (the built-in Control UI) only supports a single active session at a time. Users cannot create, view, or switch between multiple isolated sessions (e.g., "Work", "Writing", "AI News") within the WebChat interface.
This limits productivity for users who want to:
Problem to solve
Add a session switching sidebar to the WebChat UI (similar to Discord's channel list) that allows users to:
Proposed solution
Register
subagent_spawninghook in the WebChat channel plugin (currently missing)thread: truesupport forsessions_spawnin WebChat/dist/control-ui/Alternatives considered
No response
Impact
Impact
Affected Users/Systems
sessions_spawntool, session management UISeverity
🟠 Blocks workflow - Users cannot achieve true context isolation without switching to a different channel (e.g., Discord). This defeats the purpose of using WebChat as a self-contained solution.
Frequency
Always - Every time a user attempts to:
sessions_spawnwiththread: truePractical Consequences
[Work]or[AI News]to simulate separation (no true memory isolation)Current Workaround (Suboptimal)
sessions_spawnwithoutthread: true→ sessions created but not visible/switchable in UIsessions_send→ requires command-line knowledgeExpected Behavior After Fix
Evidence/examples
No response
Additional information
sessions_spawnwiththread: truereturns error:"thread=true is unavailable because no channel plugin registered subagent_spawning hooks."channels.discord.threadBindings.*config – WebChat could follow a similar pattern.