uca

module
v0.3.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2026 License: MIT

README

uca

uca updates multiple coding-agent CLIs with one command. Quiet by default, parallel by default.

Install

brew install chhoumann/tap/uca
Go install
go install github.com/chhoumann/uca@latest

Usage

uca [options]

Options:

  • -p, --parallel run updates in parallel (default)
  • --serial run updates sequentially
  • --safe safer execution (limits concurrency)
  • --timeout <duration> timeout per update command (default 15m, 0 disables)
  • --concurrency <n> max concurrent update commands (0 disables)
  • -v, --verbose show update command output for each agent
  • -q, --quiet suppress per-agent version lines (summary only)
  • -n, --dry-run print commands that would run, do not execute
  • --explain show detection details and chosen update method
  • --only <list> comma-separated agent list to include (e.g. claude,codex)
  • --skip <list> comma-separated agent list to exclude
  • -h, --help show usage

Examples

Update everything:

uca

Parallel update with verbose logs:

uca -v

Serial update:

uca --serial

Dry run only for claude + codex:

uca --only claude,codex --dry-run

Explain detection and method:

uca --explain

Supported agents

  • amp (amp update)
  • gemini (npm/pnpm/yarn/bun @google/gemini-cli)
  • claude (claude update)
  • codex (npm/pnpm/yarn/bun @openai/codex)
  • opencode (npm/pnpm/yarn/bun opencode-ai)
  • droid (npm/pnpm/yarn/bun droid or droid update)
  • cursor (cursor-agent update)
  • copilot (Homebrew copilot-cli or npm/pnpm/yarn/bun @github/copilot)
  • cline (npm/pnpm/yarn/bun cline or VS Code extension saoudrizwan.claude-dev)
  • roocode (VS Code extension RooVeterinaryInc.roo-cline)
  • aider (uv tool aider-chat or pip aider-chat)
  • pi (npm/pnpm/yarn/bun @mariozechner/pi-coding-agent)

Live output

When uca is run in a TTY, it shows a live status dashboard with progress, versions, and timings for installed agents. It also prints an instant boot line and streams agents into the dashboard as they’re detected. When output is piped (or --quiet), it prints only completed lines and the summary.

Detection strategy

uca only updates agents it can confidently detect. It checks:

  • built-in update commands for native CLIs
  • Homebrew formulas
  • npm/pnpm/yarn/bun global bins and package lists
  • uv tool installs
  • pip packages
  • VS Code extensions (via code, codium, or code-insiders)

If a tool is installed but managed by an unknown method, it is marked as manual and skipped.

Performance & reliability notes

  • Node-based agents are updated in batch per package manager when possible (e.g. one npm update -g ... for multiple npm-managed agents).
  • Updates that mutate global package manager state are serialized per manager (e.g. only one npm global update at a time).

Output (default)

claude: 2.1.19 -> 2.1.19 (8s)
...
updated: amp claude codex opencode
unchanged: gemini
skipped (missing): cursor

Development

go build ./cmd/uca

License

MIT

Directories

Path Synopsis
cmd
uca command
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL