CLI Commands
Top-Level Commands
Section titled “Top-Level Commands”allagents update [--offline] [--dry-run] [--client <client>] [--scope <scope>]allagents statusupdate
Section titled “update”Updates plugins in the workspace using non-destructive sync. By default, remote plugins are updated to their latest version. Also available as allagents workspace update or allagents workspace sync.
| Flag | Description |
|---|---|
--offline | Use cached plugins without fetching latest from remote |
--dry-run | Preview changes without applying them |
-c, --client <client> | Sync only the specified client (e.g., opencode, claude) |
-s, --scope <scope> | Sync scope: project (default) or user |
When --scope user is used, sync targets the user-level workspace at ~/.allagents/workspace.yaml and installs plugins to user directories (~/.claude/, ~/.codex/, etc.) instead of the project.
Non-destructive behavior:
- First sync overlays files without deleting existing user files
- Subsequent syncs only remove files previously synced by AllAgents
- User files (not from plugins) are never deleted
Sync state is tracked in .allagents/sync-state.json.
When vscode is in the clients list, sync also generates a .code-workspace file with repository paths resolved to absolute paths. See the Workspaces guide for details.
status
Section titled “status”Show the sync status of all configured plugins and skills.
allagents statusLists every configured entry with its availability, type, and configured clients. Each entry includes a Type label of either plugin or skill:
- plugin — standard plugin repository (has a
skills/directory or noSKILL.mdat the root) - skill — standalone skill repository (root-level
SKILL.md, noskills/subdirectory)
With --json, each entry in the plugins array includes a kind field ("plugin" or "skill"):
{ "plugins": [ { "source": "owner/repo", "type": "github", "kind": "skill", "available": true } ], "clients": ["claude"]}allagents workspace status is accepted as a backwards-compatible alias.
Workspace Commands
Section titled “Workspace Commands”allagents workspace init <path> [--from <source>]allagents workspace status # alias for `allagents status`allagents workspace plugin install <plugin@marketplace> [--scope <scope>]allagents workspace plugin remove <plugin> [--scope <scope>]workspace init
Section titled “workspace init”Initialize a new workspace from a template:
| Flag | Description |
|---|---|
--from <source> | Copy workspace.yaml from local path or GitHub URL |
Source formats:
- Local path:
./path/to/templateor/absolute/path - GitHub URL:
https://github.com/owner/repo/tree/branch/path - GitHub shorthand:
owner/repo/pathorowner/repo
When using a GitHub source, AllAgents fetches workspace.yaml from .allagents/workspace.yaml or workspace.yaml in the target path.
workspace plugin install / remove
Section titled “workspace plugin install / remove”| Flag | Description |
|---|---|
-s, --scope <scope> | Installation scope: project (default) or user |
When --scope user is used, the plugin is added to the user-level config at ~/.allagents/workspace.yaml instead of the project workspace. User-scoped plugins sync to user directories (~/.claude/, ~/.codex/, etc.) and are available across all projects.
Self Commands
Section titled “Self Commands”allagents self update [--npm] [--bun]self update
Section titled “self update”Update AllAgents to the latest published version.
| Flag | Description |
|---|---|
--npm | Force update using npm |
--bun | Force update using bun |
If neither flag is provided, AllAgents auto-detects the package manager used during installation.
Automatic Update Notifications
Section titled “Automatic Update Notifications”When running the interactive TUI (allagents with no arguments), AllAgents checks the npm registry for newer versions in the background. If an update is available, a notice is shown on the next startup:
allagents v0.13.4
ℹ Update available: 0.13.4 → 0.14.0 Run `allagents self update` to upgrade.The check runs at most once every 24 hours and never blocks startup. Results are cached at ~/.allagents/version-check.json.
Plugin Commands
Section titled “Plugin Commands”allagents plugin list [marketplace]allagents plugin validate <path>allagents plugin install <plugin> [--skill <name>] [--scope <scope>]allagents plugin uninstall <plugin> [--scope <scope>]allagents plugin marketplace add <source> [--name <name>] [--branch <branch>]allagents plugin marketplace listallagents plugin marketplace remove <name>allagents plugin marketplace update [name]allagents skill list [--scope <scope>]allagents skill remove <skill> [--plugin <plugin>] [--scope <scope>]allagents skill add <skill> [--from <source>] [--plugin <plugin>] [--scope <scope>]plugin list
Section titled “plugin list”List all installed plugins and skills.
allagents plugin listallagents plugin list [marketplace] # filter by marketplace nameEach entry shows a Type label of either plugin or skill (see status for the classification rule). With --json, each entry includes a kind field:
{ "plugins": [ { "spec": "owner/repo", "scope": "user", "kind": "skill", "fileClients": ["claude"] } ]}plugin install
Section titled “plugin install”Install a plugin into the workspace.
| Flag | Description |
|---|---|
-s, --scope <scope> | Installation scope: project (default) or user |
--skill <name> | Only enable specific skills from the plugin (can be repeated) |
--skill <name>
Section titled “--skill <name>”Only enable specific skills from the plugin. Can be specified multiple times:
allagents plugin install superpowers@marketplace --skill brainstorming --skill tddWhen used, all other skills from the plugin are implicitly disabled. Skills can be added later with skill add.
skill list
Section titled “skill list”List all skills from installed plugins with their enabled/disabled status.
| Flag | Description |
|---|---|
-s, --scope <scope> | Scope: project (default) or user |
skill remove
Section titled “skill remove”Disable a skill, preventing it from being synced to the workspace.
| Flag | Description |
|---|---|
-p, --plugin <plugin> | Plugin name (required if skill exists in multiple plugins) |
-s, --scope <scope> | Scope: project (default) or user |
After disabling, the skill is added to disabledSkills in workspace.yaml and sync is run to remove it.
skill add
Section titled “skill add”Add skills from a GitHub repo, re-enable a previously disabled skill, or add a skill from a specific plugin. The positional argument is interpreted by context:
| Flag | Description |
|---|---|
-f, --from <source> | Plugin source (GitHub URL, owner/repo, or plugin@marketplace) to install if the skill is not already available |
--skill <names> | Comma-separated skill names to install when the positional is a plugin source |
--all | Install every skill from the source |
--list | List available skills at the source without installing |
-p, --plugin <plugin> | Plugin name (required if skill exists in multiple plugins) |
-s, --scope <scope> | Scope: project (default) or user |
Skill-first: install all skills from a repo
Section titled “Skill-first: install all skills from a repo”Pass owner/repo directly with no flags — all skills in that repo are installed automatically. This mirrors how npx skills add treats a package as a transport for its skills, not a named entity:
# Install all skills from a repo (standalone skill or multi-skill bundle)allagents skill add ReScienceLab/opc-skillsallagents skill add https://github.com/owner/repoallagents skill add gh:owner/repoThis works for:
- Standalone skill repos — a single
SKILL.mdat the root (noskills/subdirectory) - Multi-skill bundles — repos with a
skills/directory containing multiple skill files
Use --list first to preview what’s available before installing:
allagents skill add ReScienceLab/opc-skills --listInstalling a specific named skill
Section titled “Installing a specific named skill”To install only one skill from a multi-skill repo:
allagents skill add reddit --from ReScienceLab/opc-skillsallagents skill add ReScienceLab/opc-skills --skill redditTo install multiple by name:
allagents skill add ReScienceLab/opc-skills --skill reddit,terraformTo install a skill from a specific file URL:
allagents skill add https://github.com/owner/repo/tree/main/skills/my-skillRe-enabling a disabled skill
Section titled “Re-enabling a disabled skill”allagents skill add brainstormingallagents skill add brainstorming --plugin superpowersAfter enabling, the skill is removed from disabledSkills and sync is run to restore it.
MCP Commands
Section titled “MCP Commands”allagents mcp add <name> <commandOrUrl> [options]allagents mcp proxy <serverUrl> [--header KEY=VALUE...]allagents mcp remove <name>allagents mcp listallagents mcp get <name>allagents mcp update [--offline]Manage MCP servers at the workspace level. Servers are persisted in a top-level mcpServers: field in workspace.yaml (parallel to mcpProxy:) and synced to all configured clients that support project-scoped MCP (claude, codex, vscode, copilot).
mcp add
Section titled “mcp add”Add a new MCP server to workspace.yaml and immediately sync it to all configured clients.
| Flag | Description |
|---|---|
--transport <type> | Transport type: http or stdio (auto-detected from URL by default) |
--arg <value> | Argument for the stdio command (repeatable) |
-e, --env <KEY=VALUE> | Environment variable for stdio transport (repeatable) |
--header <KEY=VALUE> | HTTP header for http transport (repeatable) |
--client <csv> | Comma-separated list of clients that should receive this server (default: all project-scoped clients) |
-f, --force | Replace an existing server with the same name |
Transport auto-detection: if <commandOrUrl> starts with http:// or https://, http transport is selected; otherwise stdio is selected. Passing --transport stdio with a URL, or --transport http with a non-URL command, is rejected.
# HTTP serverallagents mcp add deepwiki https://mcp.deepwiki.com/mcp
# HTTP server with headers and client filterallagents mcp add internal https://mcp.internal.corp --header Authorization=Bearer-token --client claude,copilot
# stdio server with args and env varsallagents mcp add gh-server npx --arg=-y --arg=@modelcontextprotocol/server-github -e GH_TOKEN=ghp_xxx
# Replace an existing server (update workflow)allagents mcp add deepwiki https://new.example.com --forcemcp proxy
Section titled “mcp proxy”Expose a remote HTTP MCP server locally over stdio. This is the helper command AllAgents writes into proxied client configs when mcpProxy rewrites an HTTP server for clients that only support stdio transport.
| Flag | Description |
|---|---|
--header <KEY=VALUE> | HTTP header forwarded to the upstream MCP server (repeatable) |
allagents mcp proxy https://mcp.deepwiki.com/mcpallagents mcp proxy https://mcp.internal.corp --header Authorization=Bearer-tokenproxy is the only supported public command shown in help and generated configs.
mcp remove
Section titled “mcp remove”Remove a server from workspace.yaml and unsync it from all clients. Only servers AllAgents added are removed; pre-existing user-managed servers in client MCP configs are preserved.
allagents mcp remove deepwikimcp list
Section titled “mcp list”List all MCP servers defined in workspace.yaml.
allagents mcp listmcp get
Section titled “mcp get”Print the workspace.yaml definition for a specific server as YAML.
allagents mcp get deepwikiExits with status 1 if the server is not defined in workspace.yaml.
mcp update
Section titled “mcp update”Re-sync MCP servers only, without touching skills, agents, hooks, or other plugin artifacts. Useful when you’ve edited workspace.yaml’s mcpServers: block manually and want to push the changes to clients without running a full workspace sync.
| Flag | Description |
|---|---|
--offline | Use cached plugins without fetching from remote marketplaces |
allagents mcp updateallagents mcp update --offlineTo modify a server definition, use allagents mcp add <name> ... --force.
Ownership model
Section titled “Ownership model”AllAgents only tracks MCP servers it added. This means:
mcp addmarks the server as AllAgents-owned in.allagents/sync-state.json.mcp removeonly removes servers from client MCP configs that AllAgents originally added. User-managed servers (added manually to.mcp.json,.vscode/mcp.json, etc.) are never touched.- If you manually add a server to a client config first, and then run
mcp addwith the same name, the existing user-managed entry is left alone (AllAgents will skip it with a warning).
See CLAUDE.md — MCP Server Sync for the full ownership rule.