Skip to content

bug: VSCode Autopilot breaks Squad agent execution #613

Closed

Description

@andikrueger

Squad routing fails to be applied during Autopilot-driven work. Although specialist roles and routing rules are defined, Autopilot continues execution as the active agent instead of dispatching work to the assigned Squad specialists. This results in specialist-scoped work being performed outside the intended routing model.

What Is Failing

Squad routing rules exist and are correctly defined.
However, they are not enforced by Autopilot or the editor runtime.
If the coordinator does not explicitly invoke the Squad flow, routing is silently bypassed.
As a result, work that clearly matches specialist ownership continues inline with the coordinator.

Expected Behavior

When Squad mode is active, requests that match routing rules should be dispatched to the assigned specialists.
If routing is advisory-only, this must be clearly disclosed.
It should be explicit whether work is being done inside or outside Squad routing.

Actual Behavior

Autopilot continues as the active coding agent even when routing rules apply.
Specialist configuration gives a false sense of enforcement.
Specialist reasoning may inform decisions, but execution remains with the coordinator.
This creates a mismatch between perceived and actual ownership.

Impact

Specialist ownership boundaries are broken.
Coordinator and specialist responsibilities are mixed.
Traceability, review expectations, and accountability are weakened—especially during critical-path work.

Root Cause (Confirmed)

Squad configuration (team.md, routing.md) is guidance only.
It is not an enforcement layer.
Routing only happens if the coordinator explicitly hands off the task. When that does not occur, the system fails silently.

Why This Matters

The current behavior breaks the Squad mental model. Users reasonably expect routing rules to either:

be enforced, or
clearly fail loud.

Right now, routing fails quietly, which is the worst possible mode during high-risk or release-critical work.

User: 
Why is it not using the squad agent here? There are rules!

Agent: 

Squad v0.8.25-build.4

Because I violated the repo’s workflow. I continued as the active coding agent in this VS Code chat instead of dispatching through the Squad coordinator and the CEHub specialists.

The rules exist in the repo, but they are not hard-enforced by VS Code Autopilot on every turn. They only take effect if the active session actually routes through the Squad coordinator path and launches the relevant agents. In this session, that handoff did not happen, and I incorrectly kept working inline. That is the exact failure mode you called out.

Concretely:

The roster and routing in [.squad/team.md](vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/cfbea10c5f/resources/app/out/vs/code/electron-browser/workbench/workbench.html) and [.squad/routing.md](vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/cfbea10c5f/resources/app/out/vs/code/electron-browser/workbench/workbench.html) are guidance unless I actually invoke the Squad flow.
I should have routed CEHub extension work to Reginald Barclay and MCP/backend work to Tasha Yar instead of editing directly.
That was my mistake, not a missing repo rule.
If you want, I’ll correct course from here in one of two ways:

Stop all inline work and re-run this through Squad specialists only.
Finish the cookie-session test implementation myself, but explicitly note that it is outside Squad routing.

Activity

  1. bradygaster commented on Mar 25, 2026

    @bradygaster
    Collaborator

    Thanks Andreas for this detailed report and for including the agent's own analysis — that self-awareness about the failure is exactly what we needed to see.

    We've confirmed this matches the routing regression we're investigating in #612. Here's what we're seeing:

    The Core Issue
    VS Code Autopilot reads your Squad configuration files (team.md, routing.md, charter files) as advisory guidance, but it does not enforce subagent dispatch at the platform level. Our coordinator prompt instructs agents to use
    unSubagent\ in VS Code, but that enforcement lives in the prompt, not in the runtime. When an agent decides (for whatever reason) to work inline, VS Code has no mechanism to prevent it.

    Why It's Broken Now
    Our parallel investigation (#612) found:

    • CAPCOM: CLI 1.0.11's monorepo instruction discovery now merges ALL *.agent.md files into a single prompt, causing 33% prompt growth
    • GNC: The saturation dilutes routing constraints
    • Procedures team: Now working on VS Code routing enforcement at the platform level

    The routing rules aren't wrong — they're just not enforced in this execution environment. That's a gap between expectation and reality.

    What We're Doing
    We're treating this as P1 and actively working to close it. Procedures is designing the enforcement layer so Squad routing isn't just advisory — it becomes a hard boundary. We'll have more details as we progress.

    Thanks again for catching this and for being transparent about where things are breaking.

  2. github-actions commented on Mar 25, 2026

    @github-actions
    Contributor

    📋 Assigned to GUIDO (VS Code Extension)

    Issue: #613 — bug: VSCode Autopilot breaks Squad agent execution

    GUIDO will pick this up in the next Copilot session.

    For Copilot coding agent: If enabled, this issue will be worked automatically.
    Otherwise, start a Copilot session and say:
    GUIDO, work on issue #613

  3. github-actions commented on Mar 25, 2026

    @github-actions
    Contributor

    🏗️ Squad Triage — Flight (Lead)

    Issue: #613 — bug: VSCode Autopilot breaks Squad agent execution
    Assigned to: FIDO (Quality Owner)
    Reason: Issue relates to testing/quality work

    @copilot evaluation: No strong capability match — routed to squad member.

    Team roster:

    • Flight (Lead) → label: squad:flight
    • Procedures (Prompt Engineer) → label: squad:procedures
    • EECOM (Core Dev) → label: squad:eecom
    • FIDO (Quality Owner) → label: squad:fido
    • PAO (DevRel) → label: squad:pao
    • CAPCOM (SDK Expert) → label: squad:capcom
    • CONTROL (TypeScript Engineer) → label: squad:control
    • Surgeon (Release Manager) → label: squad:surgeon
    • Booster (CI/CD Engineer) → label: squad:booster
    • GNC (Node.js Runtime) → label: squad:gnc
    • Network (Distribution) → label: squad:network
    • RETRO (Security) → label: squad:retro
    • INCO (CLI UX & Visual Design) → label: squad:inco
    • GUIDO (VS Code Extension) → label: squad:guido
    • Telemetry (Aspire & Observability) → label: squad:telemetry
    • VOX (REPL & Interactive Shell) → label: squad:vox
    • DSKY (TUI Engineer) → label: squad:dsky
    • Sims (E2E Test Engineer) → label: squad:sims
    • Handbook (SDK Usability) → label: squad:handbook
    • Ralph (Work Monitor) → label: squad:ralph
    • @copilot (Coding Agent) → label: squad:copilot

    To reassign, remove the current squad:* label and add the correct one.

  4. github-actions commented on Mar 25, 2026

    @github-actions
    Contributor

    📋 Assigned to Procedures (Prompt Engineer)

    Issue: #613 — bug: VSCode Autopilot breaks Squad agent execution

    Procedures will pick this up in the next Copilot session.

    For Copilot coding agent: If enabled, this issue will be worked automatically.
    Otherwise, start a Copilot session and say:
    Procedures, work on issue #613

  5. bradygaster commented on Mar 25, 2026

    @bradygaster
    Collaborator

    Additional Evidence: Agent Names Showing as \

    ull\

    Andreas shared a screenshot showing the VS Code tasks panel during Squad execution — **every agent name renders as
    ull**. This confirms the second symptom users have been reporting post-0.9.1.

    Root Cause (Known)

    The
    ame\ parameter on \ ask\ tool calls is what populates human-readable agent IDs in the Copilot tasks panel. Our templates were missing this parameter. Fix #577 is already on \dev\ but hasn't shipped yet.

    Connection to Routing Regression

    This
    ull\ name issue compounds the routing problem:

    1. Coordinator can't see who's who — if agent names are null, the coordinator loses track of which specialist is which
    2. User can't verify routing — the tasks panel should show \EECOM, \GNC, etc., but instead shows a wall of
      ull\
    3. Traceability is destroyed — you can't audit which agent did what work

    This screenshot alone justifies fast-tracking the
    ame\ parameter fix into the next release.

    — Flight (Lead) 🏗️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggo:needs-researchNeeds investigationsquadSquad triage inbox — Lead will assign to a member

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions