cmdhub CLI
for cmdhub.
Control plane for install, auth, provider links, config, and suite health.
curl -fsSL https://cmdhub.run/install.sh | bash
data_object Agent Contract
Agents should start with auth/status and discovery commands, inspect schemas before composition, and treat commands marked as mutating as state-changing operations.
Output
Use human output for normal reads, `--json` for scripting or complete structured fields, and `--jsonl` for upstream pipe inputs.
Auth
cmdhub account session. Website account auth does not grant provider API access.
Refs
Prefer list/search, then short refs or piped JSONL. Use `resolve` to inspect cached refs.
Schemas
Use `cmdhub schema` and `catalog.json` to inspect fields, flags, examples, and side effects.
Auth scopes
cmdhub registry/account sessionterminal Command Reference
Generated from source. Global flags apply to all commands.
Global Flags
--json
bool
Emit JSON machine output--jsonl
bool
Emit JSONL records for piping--output, -o
string
Compatibility output mode: json|jsonl. Prefer --json or --jsonl--view
string = summary
View mode: summary|full--profile
string
Config/auth profile--config
string
Config path override--quiet, -q
bool
Suppress non-essential diagnostics--debug
bool
Enable debug diagnostics--limit
int = 50
Maximum items to emit--page-size
int = 50
Requested upstream page size--cursor
string
Continuation cursor--no-paginate
bool
Fetch only one page--version, -v
bool
Print version informationcmdhub auth
Manage cmdhub account authenticationManage the local cmdhub account session, not provider CLI auth.
cmdhub hub auth is unprofiled and stored through the shared credential backend under cmdhub/cmdhub/session/default. Login supports browser approval through the cmdhub web app and manual bootstrap tokens for development or recovery. The credential type is a cmdhub hub session, not a normal account password, provider OAuth grant, cookie, API key, client secret, or private key. auth refresh validates the stored hub session because the CLI does not store a refresh token.
cmdhub auth login
Start browser login for cmdhubStart cmdhub hub auth.
Default login posts to /auth/cli/start on the selected host, opens the returned approval URL in a browser, waits for approval, then stores the returned hub session in the shared credential backend as cmdhub/cmdhub/session/default. Use –token with –email for manual bootstrap in development, CI, or recovery. Do not enter a normal account password, provider OAuth grant, cookie, API key, client secret, refresh token, or private key.
Recovery commands: cmdhub auth status cmdhub auth refresh cmdhub auth login
--email
string
Account email for manual bootstrap--host
string = https://cmdhub.run
Cmdhub web auth host--name
string
Display name for manual bootstrap--timeout
duration = 2m0s
How long to wait for browser login--token
string
Manual bootstrap session token--user-id
string
User identifier for manual bootstrapcmdhub auth logout
Clear cmdhub auth stateClear cmdhub hub auth state.
Logout deletes only the local cmdhub hub session secret cmdhub/cmdhub/session/default from the shared credential backend and attempts remote revocation when supported. It does not delete provider CLI auth, provider profiles, install records, registry cache, config, or telemetry data. Run cmdhub auth login again to create a new cmdhub hub session.
Recovery commands: cmdhub auth status cmdhub auth refresh cmdhub auth login
cmdhub auth refresh
Validate the stored cmdhub hub sessionValidate the stored cmdhub hub session.
cmdhub auth refresh checks the cmdhub/cmdhub/session/default credential against the selected hub host. The CLI stores a cmdhub hub session only; it does not store a refresh token and cannot silently renew a rejected session. If validation fails, run cmdhub auth login and approve a new browser login. Do not paste a normal account password, provider OAuth grant, cookie, API key, client secret, refresh token, or private key.
cmdhub auth status
Show cmdhub auth statusShow cmdhub hub auth readiness.
This checks the unprofiled cmdhub account session stored at cmdhub/cmdhub/session/default through the shared credential backend. The status output names the host, account when available, backend security, local storage, and server validation. Run cmdhub auth refresh to force a live validation of the stored cmdhub hub session, or cmdhub auth login to replace rejected credentials.
Recovery commands: cmdhub auth status cmdhub auth refresh cmdhub auth login
cmdhub auth whoami
Show the current cmdhub accountShow the current cmdhub hub account.
This reports the unprofiled cmdhub account session stored at cmdhub/cmdhub/session/default through the shared credential backend. Provider identities are managed by provider CLIs, not cmdhub. Use cmdhub auth refresh to validate the stored hub session or cmdhub auth login when it is expired.
Recovery commands: cmdhub auth status cmdhub auth refresh cmdhub auth login
cmdhub capabilities
Show tool capabilitiesShow runnable command capabilities.
With no tool, this describes cmdhub itself, including canonical commands, schemas, output modes, and safety metadata. With a tool name, cmdhub delegates to the installed provider CLI. Conceptual groupings are labeled through the command contract; hidden aliases such as cmdhub tool list execute as canonical cmdhub list.
cmdhub config
Manage shared cmdhub configManage shared cmdhub local config.
Supported keys are credential_backend and docs_open_command. credential_backend accepts auto, keychain, wincred, secret-service, or file. The file backend is intended for isolated development or eval state roots and is less secure than OS credential storage. docs_open_command stores the local command used by docs-opening flows when supported.
cmdhub config get
Get config valuesGet shared cmdhub config values.
With no key, this shows all supported keys. With a key, it shows only that value. Use cmdhub config set credential_backend auto to return to automatic secure backend selection.
cmdhub config set
Set a config valueSet one shared cmdhub config value.
credential_backend may be auto, keychain, wincred, secret-service, or file. Choose file only for isolated local state because stored secrets are not protected by the OS keychain. docs_open_command stores a local opener command such as xdg-open or open.
cmdhub doctor
Run suite diagnosticsRun cmdhub diagnostics, or delegate diagnostics to an installed tool.
Without a tool, doctor checks the credential backend, hub auth status, registry and config state, managed bin directory, PATH visibility, installed tools, and local state writability. With a tool name, cmdhub runs that installed provider CLI’s doctor command.
cmdhub get
Install one or more toolsInstall one or more cmdhub app CLIs from the registry.
Targets may be tool names or tool@version selectors. Downloads are verified against registry checksums before extraction. Existing installs are preserved when a download, checksum, extraction, or multi-tool install step fails.
Installed binaries live in cmdhub-managed versioned directories, and shims are updated only after verification. If the managed bin directory is not on PATH, the command prints the path setup needed before provider CLIs are discoverable. After install, authenticate provider accounts with the installed provider CLI, for example gmail auth login.
cmdhub info
Show metadata for one toolShow registry and local install metadata for one tool.
Use this after cmdhub list when you need the exact maturity, auth mode, capabilities, supported platforms, installed state, or provider-auth handoff before installing or updating a provider CLI.
cmdhub installed
List installed toolsList cmdhub-managed local tool installs.
This shows local install state, pinned versions, and update status without querying provider data. Use cmdhub update to preview available updates before applying them.
cmdhub list
List known toolsList tools available in the cmdhub registry.
Human output is optimized for choosing the next tool to inspect or install. Use –json for one structured payload and –jsonl for pipeable item/meta streams that preserve exact registry fields. Follow up with cmdhub info or cmdhub get .
cmdhub mcp
Run the cmdhub MCP aggregatorRun a stdio Model Context Protocol server over installed cmdhub adapters.
The aggregator exposes a small fixed set of meta-tools for discovery, command description, catalog search, read execution, and allowlisted write execution.
--adapters
string
Limit installed adapters by comma-separated name, for example gmail,gcal--allow
stringArray = []
Allow mutating command keys such as gmail.message.archive or gmail.message.label.*--allow-dangerous
bool
Allow --allow wildcards to include destructive or sends_external commands--allow-install
bool
Expose cmdhub_install for registry-backed adapter installation--concurrency
int = 4
Maximum concurrent MCP subprocesses--max-output
int64 = 4194304
Maximum stdout/stderr bytes captured per MCP command--print-config
bool
Print MCP aggregator tool configuration and exit--timeout
duration = 30s
Per-command MCP subprocess timeout, for example 45s or 2mcmdhub pin
Pin an installed tool to a versionPin an installed tool to a version.
When no version is supplied, cmdhub pins the currently installed version. Pinned tools remain installed but are held during cmdhub update previews and applies. Use cmdhub installed or cmdhub list to verify held state.
cmdhub remove
Remove installed toolsRemove cmdhub-managed local tool shims and binaries.
This does not delete provider credentials, provider profiles, provider data, or remote resources. cmdhub remove cmdhub is refused so the control plane cannot remove itself. Each target reports its own result.
cmdhub resolve
Resolve a cmdhub local ref, URL alias, or cursor aliasResolve a cmdhub local ref, URL alias, or cursor alias.
Use this when cmdhub human output shows a short marker such as t1, u1, or c1 and you need the exact canonical value for scripting or inspection. Provider refs are resolved by the provider CLI that emitted them, such as gmail resolve m1.
cmdhub schema
Show a tool command schema when supportedShow command input and output schemas.
Canonical forms are cmdhub schema, cmdhub schema <resource.action> –input –json, and cmdhub schema <resource.action> –out –json. Use –json for normal schema inspection. –in is accepted as a compatibility spelling for –input. JSONL is for pipeable command results, not ordinary schema browsing. Non-cmdhub tools are delegated to installed provider CLIs.
--input
bool
Show input schema--out
bool
Show output schemacmdhub telemetry
Manage anonymous cmdhub telemetryManage anonymous cmdhub telemetry.
Telemetry status, enable, disable, path, and flush are local control-plane operations. Events are anonymous and sanitized: they must not include raw argument values, provider IDs, secrets, payloads, message contents, recipients, release URLs, or checksums. flush sends queued telemetry to the configured endpoint.
cmdhub telemetry disable
Disable anonymous telemetrycmdhub telemetry enable
Enable anonymous telemetrycmdhub telemetry flush
Upload queued telemetry now--dry-run
bool
Show the telemetry batch that would be sent without sending itcmdhub telemetry path
Show the local telemetry queue pathcmdhub telemetry status
Show telemetry statuscmdhub unpin
Clear a version pin on an installed toolClear a version pin on an installed tool.
Unpinning does not reinstall or update the tool immediately. It only clears the held version so a later cmdhub update preview can include the tool again.
cmdhub update
Update installed toolsPreview or apply updates for installed tools.
By default this is a read-only preview. Use –yes or -y to apply the plan after you have inspected it. The target all and –all both mean every installed tool; with no targets, update also previews every installed tool. Pinned tools are held and reported instead of updated.
cmdhub refuses unsafe self-update paths when the running cmdhub binary is owned by an external package manager or manual install. Machine output reports per-tool statuses such as update_available, updated, up_to_date, pinned_held, failed, and external_update_required.
--all
bool
Plan updates for every installed tool (default if no targets are given)--yes, -y
bool
Apply the planned updatescmdhub version
Show cmdhub version informationcmdhub whoami
Show the current cmdhub accountShow the current cmdhub hub account.
This is a shortcut for cmdhub auth whoami. It reports cmdhub hub auth only; provider identities are managed by provider CLIs.
play_circle Live Examples
Output captured from a real workspace. Regenerate with
scripts/gen-docs.sh --update.
auth
Authenticated with cmdhub hub auth as Cmdhub Eval <cmdhub-eval@example.com>.
Host: http://127.0.0.1:{port}
Backend: file (not secure)
WARNING: cmdhub is storing credentials in a local file; use a secure OS credential backend when possible
Next steps:
- List: cmdhub listCmdhub Eval <cmdhub-eval@example.com>
Host: http://127.0.0.1:{port}
WARNING: cmdhub is storing credentials in a local file; use a secure OS credential backend when possible
Next steps:
- List: cmdhub list
- Status: cmdhub auth statusLogged out of cmdhub. WARNING: cmdhub is storing credentials in a local file; use a secure OS credential backend when possible Next steps: - Login: cmdhub auth login - Status: cmdhub auth status
lifecycle
cmdhub is the control plane for cmdhub app CLIs.
Use cmdhub to discover, install, update, pin, remove, authenticate to the hub,
configure, diagnose, and inspect schemas for provider CLIs.
Provider data operations run through provider CLIs, for example:
gmail message list --inbox --limit 10
slack message search --query "incident"
Major command families:
install/update/remove: get, update, pin, unpin, remove
registry discovery: list, installed, info
hub auth: auth login, auth status, auth whoami, auth refresh, auth logout
diagnostics: doctor
local config: config get, config set
telemetry: telemetry status, enable, disable, path, flush
schemas/capabilities: schema, capabilities, resolve
version: version, --version
Output modes: human output is the default. Use --json for one structured
payload and --jsonl for pipeable item/meta streams.
Stdin: cmdhub does not accept arbitrary provider payloads on stdin. Only
commands that explicitly document a pipe contract consume JSONL item streams.
Likely next commands:
cmdhub list
cmdhub auth status
cmdhub doctor
Usage:
cmdhub [flags]
cmdhub [command]
Examples:
cmdhub list
cmdhub info gmail
cmdhub get gmail gcal slack
cmdhub update
cmdhub update gmail --yes
cmdhub auth status --view full
cmdhub schema cmdhub tool.list --out --json
cmdhub list --jsonl
Provider CLI examples:
gmail auth login
gmail message list --inbox --limit 10
Available Commands:
auth Manage cmdhub account authentication
capabilities Show tool capabilities
completion Generate the autocompletion script for the specified shell
config Manage shared cmdhub config
doctor Run suite diagnostics
get Install one or more tools
help Help about any command
info Show metadata for one tool
installed List installed tools
list List known tools
mcp Run the cmdhub MCP aggregator
pin Pin an installed tool to a version
remove Remove installed tools
resolve Resolve a cmdhub local ref, URL alias, or cursor alias
schema Show a tool command schema when supported
telemetry Manage anonymous cmdhub telemetry
unpin Clear a version pin on an installed tool
update Update installed tools
version Show cmdhub version information
whoami Show the current cmdhub account
Flags:
--config string Config path override
--cursor string Continuation cursor
--debug Enable debug diagnostics
-h, --help help for cmdhub
--json Emit JSON machine output
--jsonl Emit JSONL records for piping
--limit int Maximum items to emit (default 50)
--no-paginate Fetch only one page
-o, --output string Compatibility output mode: json|jsonl. Prefer --json or --jsonl
--page-size int Requested upstream page size (default 50)
-q, --quiet Suppress non-essential diagnostics
-v, --version Print version information
--view string View mode: summary|full (default "summary")
Use "cmdhub [command] --help" for more information about a command.TOOL VERSION STATUS AUTH SCHEMA JSONL cmdhub dev up to date cmdhub yes yes cmdhub-eval-fixture 1.0.0 not installed none yes yes Next steps: - Run: cmdhub get cmdhub-eval-fixture - Installed: cmdhub installed - Update: cmdhub update
cmdhub cmdhub
Version: dev
Maturity: alpha
Auth: cmdhub
Schemas: yes
MCP: no
JSONL: yes
Status: installed
About: cmdhub control plane
Schema: cmdhub.tool.v2
Released: 2026-06-15T00:00:00Z
Platforms: linux-amd64
Installed: dev
Shim: {go-build}/cmdhub
Installed at: {installed_at} (<1m ago)
Next steps:
- Update: cmdhub update cmdhub
- Installed: cmdhub installedTOOL VERSION STATUS SHIM
cmdhub dev up to date {go-build}/cmdhub
Next steps:
- Update: cmdhub update
- List: cmdhub listTOOL VERSION STATUS
cmdhub-eval-fixture 1.0.0 installed
Next steps:
- Installed: cmdhub installed
- List: cmdhub list
note: /tmp/cmdhub-docshots-cmdhub-bin-{token} is not on PATH. Installed tools will not be discoverable until you add it.
echo 'export PATH="/tmp/cmdhub-docshots-cmdhub-bin-{token}:$PATH"' >> ~/.profile && exec $SHELL -lTOOL VERSION STATUS SHIM
cmdhub dev up to date {go-build}/cmdhub
cmdhub-eval-fixture 1.0.0 up to date /tmp/cmdhub-docshots-cmdhub-bin-{token}/cmdhub-eval-fixture
Next steps:
- Update: cmdhub update
- List: cmdhub listTOOL INSTALLED LATEST STATUS cmdhub-eval-fixture 1.0.0 1.0.0 up to date cmdhub dev dev up to date All installed tools are up to date. Next steps: - Installed: cmdhub installed - List: cmdhub list
Pinned cmdhub-eval-fixture at 1.0.0. Next steps: - Installed: cmdhub installed - Update: cmdhub update
TOOL INSTALLED LATEST STATUS cmdhub-eval-fixture 1.0.0 1.0.0 up to date cmdhub dev dev up to date All installed tools are up to date. Next steps: - Installed: cmdhub installed - List: cmdhub list
Unpinned cmdhub-eval-fixture (was 1.0.0). Next steps: - Installed: cmdhub installed - Update: cmdhub update
Removed cmdhub-eval-fixture. Next steps: - Installed: cmdhub installed - List: cmdhub list
cmdhub dev Next steps: - Doctor: cmdhub doctor - List: cmdhub list
diagnostics
cmdhub doctor: WARN
Config: /tmp/cmdhub-docshots-cmdhub-{token}
Credentials: file (not secure)
WARNING: cmdhub is storing credentials in a local file; use a secure OS credential backend when possible
PATH: bin dir missing from PATH
Hub auth: not logged in
Bin dir: /tmp/cmdhub-docshots-cmdhub-bin-{token}
Adapter mode: local_control_plane
- credential_backend WARN file (not secure)
- path WARN bin dir missing from PATH
- hub_auth WARN not logged in
Next steps:
- Add bin dir: echo 'export PATH="/tmp/cmdhub-docshots-cmdhub-bin-{token}:$PATH"' >> ~/.profile && exec $SHELL -l
- Re-run doctor: cmdhub doctor --view full
- Login: cmdhub auth login
- List: cmdhub listTelemetry: disabled
Pending: {count}
Next steps:
- Flush: cmdhub telemetry flush
- Enable: cmdhub telemetry enableTelemetry queue: /tmp/cmdhub-docshots-cmdhub-{token}/telemetry/events.jsonl
Next steps:
- Status: cmdhub telemetry status
- Doctor: cmdhub doctorschemas
{
"schema_id": "cmdhub.tool.get.v1.input",
"version": "v1",
"tool": "cmdhub",
"resource": "tool",
"action": "get",
"direction": "input",
"kind": "control-plane",
"json_schema": {
"properties": {
"tool": {
"type": [
"string",
"boolean",
"number",
"array",
"object",
"null"
]
},
"version": {
"type": [
"string",
"boolean",
"number",
"array",
"object",
"null"
]
}
},
"required": [
"tool"
],
"type": "object"
},
"required": [
"tool"
],
"optional": [
"version"
],
"field_docs": {
"tool": "Tool name such as gmail",
"version": "Optional registry version"
},
"examples": [
{
"tool": "gmail"
}
]
}Schema: cmdhub.tool.list.v1.output (cmdhub tool list output) Required: name, latest_version, status Optional: display_name, description, version, schema_version, maturity, auth_mode, capabilities, platforms, downloads, checksums, released_at, versions, installed, installed_version, installed_at, installed_shim, pinned_version, current_platform, download, command_schema, mcp, jsonl Fields: auth_mode Authentication mode checksums Release artifact checksums by platform downloads Release artifact URLs by platform name Tool command name status Install/update state
alt_route Composition Patterns
Bridge your ecosystem with zero middleware.
# Install the current suite, then inspect what is available
cmdhub auth login
cmdhub get gmail gcal gdrive mscal msdrive mstodo msoutlook slack notion agent
cmdhub list