A VibeX plugin package is installed, enabled, updated, and uninstalled under one identity. One package may contribute UI, agent, Host, and runtime at once. Install treats it as a product package. UI, Agent, and Host contributions may share the package.
Lifecycle
Discover or import yields a source package. That is not yet execution rights. Install accepts an exact version/digest as the Host’s immutable install. Sources are marketplace snapshot, GitHub snapshot, local archive, or linked development. A Git #tag / #commit, a marketplace install, or a GitHub Release digest pins a snapshot; an unpinned repository is unlocked. New installs start disabled. Enable is the durable intent to publish contributions. After enable, the Host produces an activation generation: an atomic snapshot of package, grants, Runtime locks, and ready contributions. A candidate generation is invisible until fully validated. A failed update keeps the previous complete generation. When the origin lock is valid and a newer tag or semver appears remotely, Installed shows Update available. The Host watches a linked development directory and republishes a candidate generation when the digest changes.
Agent-side contributions (Skill, managed MCP, Hook) enter conversations created or rebound after enable. UI and Provider contributions appear on enable and vanish on disable. Conversations that already exist keep the tool list from creation.
Turning enable off withdraws UI and Provider entries immediately. New Agent-side turns stop using the package’s contributions. History in the event log stays. An installed package can be uninstalled: membership, agent bindings, and Skill projections go away. Conversation, artifact, and automation history remain. Config stays by default; delete plugin data also drops the Host-managed snapshot, and unreferenced Runtimes are reclaimed. A linked development directory stays on disk.
Trust
Enabling a VibeX plugin package allows it to run workers and UI with the same local rights as the Host. Separate processes exist for lifecycle, hot reload, and crash isolation. Package layout, content index, and validation are in the developer docs.
Agent-native plugins (Codex / Claude Code package formats) are held by that agent’s storage and trust. VibeX may project a read-only view and forward install/enable when the adapter is reliable. Native trust and VibeX enablement are separate authorities.
How-to: Install and enable a Plugin.
Control plane
The plugin control plane is the sole fact source for install, grant, start/stop, update, diagnostics, rollback, and uninstall. It can also read projections of agent-native plugins. Additions and deletions in native directories still follow that agent. External disable or a broken link must be shown as-is.
Identity
Plugin identity is stable Publisher plus Plugin ID. Display name, folder name, and similar contents leave identity unchanged. Packages with the same ID and different publishers keep separate grants and data. A linked development plugin keeps following a user-chosen directory. After the source changes, contributions, grants, and identity must be revalidated. The development directory stays on disk.
Official plugins and third-party plugins use the same public SDK and contribution points. A plugin targets Host contribution points; reuse another plugin by copying its source and packaging it under a new identity.