Feature: Convert plan to task on ExitPlanMode
Problem
Plans and tasks are disconnected systems. When a user approves a plan, it becomes invisible work — Claude starts implementing it, but nothing appears in task tracking. This creates two problems:
Invisible priority override: If Claude has 3 tracked tasks and the user approves a plan, the plan implicitly becomes the highest priority work. But the task list still shows the original 3 tasks with no indication that something else jumped the queue.
No task lifecycle for plans: Plans can't be reordered, blocked, or depended on by other tasks. The user loses the ability to manage the plan as work — they can't say "this plan is blocked by task #2" or "do task #1 before this plan."
Example
A user has a high-priority task to fix a stability issue. During the session, a separate issue comes up and they enter plan mode to discuss it. After planning, they have two options — both awkward:
- Accept the plan immediately — stability fix gets deprioritized with no tracking of why
- Manually convert — ask Claude to create a task from the plan, set up dependencies, then reject plan mode. This is friction the tool should handle
Proposed Solution: Add create_task to ExitPlanMode
ExitPlanMode(create_task?: boolean) // default: true
When create_task is true (the default), approving the plan also creates a task from it:
- Task subject derived from the plan name/title
- Task description contains the plan content (or a reference to the plan file)
- Task status set to
pending— not automatically started - User can then manage it like any other task (reorder, set dependencies, defer)
| Call | Behavior |
|------|----------|
| ExitPlanMode() | Approve plan AND create a task from it (new default) |
| ExitPlanMode(create_task: false) | Approve plan and implement immediately (current behavior) |
Why Default to Task Creation
- Plans that skip the task system are invisible work — this closes that gap
- Users who want immediate implementation can opt out with
create_task: false - Plans that become tasks can participate in dependency chains, priority ordering, and progress tracking
- Aligns plan mode with the principle that all tracked work should be visible in one place
Relationship to Named Plans (#26147)
This complements Named Plans (#26147). Together they enable:
- Create multiple named plans (
EnterPlanMode(name: "auth")) - Approve each as a task (
ExitPlanMode()creates task) - Manage implementation order through task dependencies
- Track progress in one unified system
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗