Skip to content

Bulk provider switch with remembered last batch (usage-limit escape) #360

Closed

Description

@Juliusolsson05

Problem

When you hit a usage limit on one provider while running many agents on it, every one of those agents is stuck. Today the only escape is the single-agent Switch Provider command, one focus-and-switch at a time. With ~20 agents on the throttled provider, that's 20 manual operations under time pressure.

Feature

A "Switch Agents to Another Provider…" modal (command palette) that:

  1. Moves a batch of Claude/Codex agents to the other provider in one action — pick direction (Codex → Claude / Claude → Codex) and scope (All / Selected projects), preview the affected agents, confirm.
  2. Remembers the most recent batch so the same set can be sent back to its origin provider — from a banner inside the same modal (no separate command, no keybind). The return is optional; it stands until used or superseded.

This is a bulk wrapper + a memory record over the existing single-agent switchProvider machinery (translate transcript → new file/id → replaceSession).

Decisions

  • Round-trip, not auto-undo: "return" re-translates the live session back to its origin provider so interim work done on the borrowed provider is preserved (rather than snapshot-restoring the pre-switch transcript and dropping it).
  • Mid-turn agents are switched along with the rest, but the preview surfaces how many in-flight turns will be interrupted (no skip toggle) — the trigger is "get everyone off this provider".
  • One level of memory, in-memory for the working session (not persisted: batch holds current-launch SessionIds that get remapped on reload).

Design doc

docs/superpowers/specs/2026-06-24-bulk-provider-switch-design.md

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions