[FEATURE] Side threads: think ahead while the agent works
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
When the main agent is running a long task, I often have follow-up questions that will determine what I ask it to do next. But I can't explore those questions while it's busy.
If I already know the next step, I just type it and it gets queued. The side thread is for when I need help deciding. It lets me stay ahead of the agent instead of waiting for it to finish before I can start thinking.
/btw exists for this moment but can't actually do the job:
- No tool access (can't read files or search code to inform the decision)
- No state across invocations (can't build on a previous answer)
- Answers are ephemeral (the main agent never sees what I figured out)
No extension point (plugins, hooks, custom commands, subagents, agent teams) can provide a user-interactive side conversation that feeds a result back into the main context.
Proposed Solution
A side thread (e.g. /thread) that lets me have a multi-turn conversation with Claude while the main agent works. The side thread has tool access and state. Its purpose is to help me reach a decision about what to do next.
Flow:
- Main agent is busy running tools
- I open a side thread with
/thread - I have a back-and-forth with Claude: ask questions, read files, think through options
- I reach a decision. Claude drafts (or I write) the next instruction based on what we figured out
- That instruction gets queued as the next prompt for the main agent
- Main agent finishes its current task, picks up the queued instruction, and continues
The output of the side thread isn't a summary. It's a decision, expressed as the next prompt.
/btw already proves the UI pattern works (typing while the agent is busy). The missing pieces are tool access, multi-turn state, and a path to queue the result as the next instruction.
Alternative Solutions
- Opening a second terminal with a separate Claude Code session (no shared context, manual copy-paste of conclusions, switching tabs is annoying)
- Using
/btwrepeatedly (no state between calls, no tools, can't build toward a decision) - Writing notes in a file and injecting them with a custom command after the agent finishes (no interactivity, defeats the purpose)
- Hitting Escape to interrupt the agent, asking my questions, then re-running the task (loses progress)
Priority
Medium - Would be very helpful
Feature Category
Interactive mode (TUI)
Use Case Example
Claude is building an onboarding flow. While it works on step one, I'm already thinking about step two but I'm not sure which direction to take. I want to talk it through with Claude, maybe look at some existing code or data shapes, reach a decision, and have that queued as the next instruction so Claude moves straight into it when step one is done.
Without this, I either wait until step one finishes to start thinking about step two (wasted time), or interrupt the agent to discuss it (lost progress). The side thread lets me use the agent's busy time to stay ahead of it.
Additional Context
Related but distinct from existing issues:
- #24947 / #24983 (automated external event injection, not user-driven thinking)
- #5996 (keeping the agent focused on complex tasks, not the user brainstorming alongside it)
- #24377 (managing multiple independent sessions, not a side thread within one session)
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗