github / github/copilot-cli

Custom agent plan-mode sessions leave the Plan panel blank (plan_content empty while summary is populated)

Open
#4,841 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

triage
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

Description

When a user-selected custom agent (front matter: disable-model-invocation: true, infer: false, invoked explicitly by name rather than by inference) calls the built-in exit_plan_mode tool, the Plan side panel renders the recommended-action bubbles but no plan text. The default (built-in) agent does not have this problem -- its Plan panel renders correctly.

Steps to reproduce

  1. Create or select a custom agent with disable-model-invocation: true and user-invocable: true in its front matter.
  2. Invoke that agent explicitly by name (not via inference) in plan mode.
  3. Have the agent call exit_plan_mode with a full plan in the summary argument.
  4. Observe the Plan panel in the UI: it shows the recommended-action bubbles (e.g. "autopilot", "interactive", "exit_only") but the plan text area is blank.

Root cause (as far as I could verify)

Reading the session's pending plan state directly shows two separate fields on pending_plan:

  • summary -- fully populated with the complete plan text passed to exit_plan_mode.
  • plan_content -- empty string ("").

The Plan panel UI appears to render from plan_content, not summary. For default-agent sessions, plan_content gets populated (seemingly mirrored from summary) automatically. For custom, explicitly-selected agent sessions, that mirroring does not happen, leaving plan_content empty and the panel blank even though the underlying plan data is intact and was submitted correctly per the documented exit_plan_mode contract.

This is not model-dependent -- the same custom agent reproduces the issue regardless of model (Auto vs. an explicit model). It tracks the agent-invocation path (default agent vs. user-selected custom agent), not model selection.

Expected behavior

Regardless of whether a default or custom agent invokes exit_plan_mode, the Plan panel should render the full plan text from summary.

Impact

Plan-mode approval becomes unusable for custom agents: there is no readable plan to approve/reject against in the panel, even though the agent followed the documented contract exactly (full plan in summary).

Environment

  • Windows, PowerShell v6+
  • Reproduced with a custom repository agent invoked explicitly by name in a worktree-backed project session.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the custom-agent invocation path through exit_plan_mode and the pending_plan state, then compare it with the default-agent path. Confirm where summary is populated and why plan_content remains empty; done means the Plan panel renders the submitted plan text for explicitly selected custom agents.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.