Skip to content

[Plugins] Enable, disable, and switch active plugin profiles #1071

Closed

Description

@tamirdresher

Part of #1068.

Scope

Allow consumers to enable, disable, and switch between installed plugins - including switching between alternative implementations of the same role (e.g., two memory plugins).

Requirements

  • squad plugin enable <name> / squad plugin disable <name> toggle a plugin's active state without uninstalling it.
  • squad plugin switch <role> <name> makes <name> the active plugin for <role> (e.g., memory, knowledge).
  • Active state is persisted (e.g., .squad/plugins/active.json) and is the single source of truth consulted by Squad at runtime.
  • Disabling a plugin must not delete its files; re-enabling restores prior behavior.
  • squad plugin list shows installed plugins, their version, enabled/disabled state, and which role(s) each is active for.
  • Switching is observable: a downstream test can assert that switching changes the agent-visible behavior (paired with the demo/test child issue).

Acceptance

  • Enable/disable/switch commands implemented with persisted state.
  • list output is stable and machine-readable (JSON flag).
  • Tests cover enable->disable->re-enable and role switching.

Planning provenance: tamirdresher_microsoft/tamresearch1#2919.

Activity

  1. bradygaster commented on Sep 23, 2026

    @bradygaster
    Collaborator

    Closing as resolved — squad plugin enable/disable/switch is implemented in packages/squad-cli/src/cli/commands/plugin.ts:341-363, documented in docs/src/content/docs/features/plugins.md:29-36, and PR #1092 references this issue directly.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions