oo-cli

oo-cli exposes the oo command as OOMOL's terminal-first interface for official installs, OOMOL accounts, published packages, connector actions, cloud tasks, files, logs, and managed skills.

If you are in Codex, Claude Code, or a regular shell session, start here before you wire a lower-level API or MCP integration. oo is the terminal-first path for trying published capabilities, handling auth and file transfer, managing skills, and keeping the active CLI version current through official install commands and managed updates.

What oo-cli is good for

  • Install the managed CLI binary through the official install commands, then keep it current with oo update.
  • Sign in and switch between OOMOL accounts.
  • Search packages and connector actions with one free-form query.
  • Inspect package metadata and connector schemas before execution.
  • Run authenticated connector actions directly from the terminal, including dry runs and JSON output.
  • Create, list, monitor, and fetch Cloud Task runs.
  • Install bundled or published skills into Codex and Claude Code.
  • Upload, download, list, and clean up workflow files.
  • Inspect persisted logs, manage CLI config, and generate shell completion scripts.

Install

If you want your agent to handle the install for you, copy this prompt first:

Please help me install and verify oo-cli:

1. Install oo-cli using the official method for this environment.
- macOS / Linux (option 1): `wget -qO - https://cli.oomol.com/install.sh | bash`
- macOS / Linux (option 2): `curl -fsSL https://cli.oomol.com/install.sh | bash`
- Windows PowerShell: `irm https://cli.oomol.com/install.ps1 | iex`
- Windows CMD: `curl -fsSL https://cli.oomol.com/install.cmd -o install.cmd && install.cmd && del install.cmd`

2. Run `oo login`.

3. Confirm that the CLI is ready to use.

4. Tell me the best next oo-cli command to run.

On macOS / Linux, use either of these official install commands:

wget -qO - https://cli.oomol.com/install.sh | bash
curl -fsSL https://cli.oomol.com/install.sh | bash

On Windows PowerShell:

irm https://cli.oomol.com/install.ps1 | iex

On Windows CMD:

curl -fsSL https://cli.oomol.com/install.cmd -o install.cmd && install.cmd && del install.cmd

After a managed install, use oo update to move to the latest published release, oo upgrade as an alias, and oo check-update when you only want to see whether a newer release exists.

Quick Start

  1. Sign in:
oo login
  1. Search for a published capability:
oo search "generate a QR code"
  1. In Codex, use the bundled oo skill:
$oo generate a QR code for the string OOMOL

oo login and oo logout are aliases for oo auth login and oo auth logout.

Bundled Skills For AI Hosts

On the first oo launch, bundled skills are installed automatically into supported local hosts that already exist.

  • Codex: ${CODEX_HOME:-~/.codex}/skills/oo and ${CODEX_HOME:-~/.codex}/skills/oo-find-skills
  • Claude Code: ~/.claude/skills/oo and ~/.claude/skills/oo-find-skills

The two bundled skills solve different problems:

  • oo: routes practical tasks through existing oo packages or connector actions instead of inventing a local workflow
  • oo-find-skills: searches the published OOMOL and oo skill catalog, then installs one or more selected skills

Successful oo install and oo update runs refresh these bundled skills automatically. For a manual refresh, use oo skills add. oo skills update is for published oo-managed skills and does not update bundled skills.

You can also install bundled skills explicitly:

oo skills install
oo skills install oo-find-skills

Main Workflows

Install or refresh the managed CLI

Use the managed install flow when you want official binary releases and a clear ongoing update path.

oo install
oo check-update
oo update

oo install installs the latest managed release. oo update keeps that managed install current and refreshes bundled skills after a successful update.

Search across packages and connector actions

Use oo search when the user intent matters more than the exact execution path.

oo search "generate a QR code" --json

This command returns a mixed result set. Package results represent published OOMOL capabilities. Connector results represent callable external service actions and include fields such as authenticated and schemaPath.

Inspect a package or connector before execution

Use package inspection and connector search when you want the schema, metadata, or version details before you call anything.

oo packages info foo/bar@latest
oo connector search "send an email" --json

oo packages info resolves @latest for inspection. oo connector search also caches connector schemas locally and reports the cached path in text and JSON output.

Run connector actions directly

Use the connector namespace when you already know you want an external service action.

oo connector search "send an email"
oo connector run <serviceName> -a <action> --dry-run --data @input.json
oo connector run <serviceName> -a <action> --data @input.json --json

oo connector run supports --dry-run for payload validation and can emit structured JSON with --json.

Inspect a package and run it as a cloud task

Use the package and cloud-task namespaces when you want a direct programmatic path to a published block.

oo packages search "generate a QR code"
oo packages info foo/bar@latest
oo cloud-task run foo/[email protected] -b main --data @input.json
oo cloud-task list --status running --json
oo cloud-task wait <taskId>
oo cloud-task log <taskId>
oo cloud-task result <taskId>

oo cloud-task run requires PACKAGE_NAME@SEMVER, while oo packages info can resolve @latest for inspection.

Move files into or out of a workflow

Use the file namespace when the task needs input artifacts or downloadable results.

oo file upload ./input.pdf --json
oo file list --status active --json
oo file download <url>
oo file cleanup --json

Uploads expire after one day. Downloads default to the configured file.download.out_dir, or ~/Downloads when that setting is not present. Downloads also resume when possible and never overwrite an existing target path.

Command Groups At A Glance

AreaKey commandsPurpose
Install & Updatesoo install, oo update, oo upgrade, oo check-updateInstall a managed release and keep it current
Authoo auth ..., oo login, oo logoutManage accounts and verify the active API key
Configoo config ...Persist CLI settings such as language and download directory
Searchoo search, oo packages search, oo connector searchDiscover packages, connector actions, or both
Inspectoo packages info, oo connector searchInspect metadata, versions, and schemas before execution
Executionoo connector run, oo cloud-task ...Call connector actions or create and monitor cloud tasks
Skillsoo skills ...List, search, install, update, and remove oo-managed skills
Filesoo file ...Upload, download, list, and clean up local file-transfer records
Logsoo log ..., --debugInspect persisted debug logs and the current log directory
Shelloo completion <shell>Generate shell completion scripts

When to use CLI vs API or MCP

Use the CLI when you are operating directly from a terminal or an AI coding host and want the fastest path to a working result.

Use API & SDK when you are embedding Cloud Function calls inside your own application, backend, script, or automation service and need direct control over task creation, polling, and uploads.

Use MCP when you want to expose OOMOL capabilities as tools for external agent frameworks or MCP-compatible runtimes.

References