atmos plugin search
Usage
atmos plugin search [query] [--registry <alias>] [--refresh]
Arguments and flags
query- Case-insensitive package name or description text.
--registry- Search only this configured registry alias, including its repositories and optional catalog.
--capability- Filter by an exported capability, such as auth.provider.
--runtime- Filter by runtime, such as native.
--refresh- Revalidate discovery sources even when the local cache is fresh. Fails when offline policy is enabled.
--format- Output format: table (default), json, yaml, csv, or tsv. Set
ATMOS_PLUGIN_FORMATto change the default; an explicit flag takes precedence.
Interactive table output uses the shared Atmos list styling. When piped, table output becomes plain tab-separated rows. JSON and YAML retain complete discovery entries, including available versions and capabilities. Each result identifies its configured registry alias.
Discovery sources and freshness
A small collection can list repositories directly; a public or curated collection can publish a catalog snapshot. Both use the same search and installation commands:
plugins:
max_concurrency: 4
discovery:
cache_ttl: 15m
registries:
team:
host: registry.example.com
repositories:
- oci://registry.example.com/team/oidc
- oci://registry.example.com/team/credentials
infrastructure:
catalog: oci://ghcr.io/acme/infrastructure/catalog:stable
developer-tools:
catalog: oci://ghcr.io/acme/developer-tools/catalog:stable
Direct discovery reads tags and static release metadata from the explicitly listed repositories. It does not enumerate the registry, download executable payloads, or run plugins. Refreshes reuse metadata for unchanged release digests. Source requests use the plugins.max_concurrency limit.
The cache defaults to fifteen minutes of freshness. Set plugins.discovery.cache_ttl to a nonnegative Go duration, such as 30m or 1h; 0 revalidates every online search. --refresh bypasses freshness. Offline policy (plugins.policy.offline: true) permits stale cached discovery, but a missing or corrupt cache fails. Online refresh errors are reported rather than silently returning stale results.
Discovery metadata lives under XDG cache atmos/plugins/discovery, or <plugins.cache_dir>/discovery when overridden. Its scope includes source configuration, auth configuration, and realm; it contains no tokens. Source policy is checked even for cached results. Cached search metadata never replaces installation signature, policy, compatibility, or integrity checks.
Examples
atmos plugin search oidc --capability=auth.provider
atmos plugin search oidc --format=json
atmos plugin search --registry=team --refresh
atmos plugin install team/acme/oidc --as=corporate --version="^1.0"