Feature: Convert plan to task on ExitPlanMode

Resolved 💬 4 comments Opened Feb 16, 2026 by kitaekatt Closed Mar 21, 2026

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:

  1. Accept the plan immediately — stability fix gets deprioritized with no tracking of why
  2. 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:

  1. Create multiple named plans (EnterPlanMode(name: "auth"))
  2. Approve each as a task (ExitPlanMode() creates task)
  3. Manage implementation order through task dependencies
  4. Track progress in one unified system

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗