Skip to Content
DocumentationDocumentationCLI Referencehams list

hams list

Show everything hams is managing. Each row tells you: hereโ€™s a resource I know about, and hereโ€™s its current state.

Usage

hams list [flags]

Examples

# Take a look: what's managed on this machine, and how's it doing? hams list # Piping into a script or an AI agent? JSON it is hams list --json # Narrow to one provider hams list --only=homebrew # Filter by tag (only the cli-tagged tools) hams list --tag=cli

What youโ€™ll see

Text mode looks roughly like this:

Provider App State Version โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Homebrew ripgrep ok 14.1.0 Homebrew htop ok 3.3.0 Homebrew fd missing -- pnpm serve ok 14.2.1 pnpm prettier outdated 3.1.0 โ†’ 3.2.5 git-config user.name ok Your Name

Each resource has a state:

  • ok โ€” declared, installed, versions match
  • missing โ€” declared in the Hamsfile, not present on the machine
  • outdated โ€” installed, but the version doesnโ€™t match what the Hamsfile wants (some providers only)
  • failed โ€” last apply couldnโ€™t get this one working. Logs have the details
  • unmanaged โ€” present on the machine but not in any Hamsfile. Only listed if you pass --show-unmanaged

JSON output

--json gives you a flat structure thatโ€™s easy to pipe into agents or shell pipelines:

[ { "provider": "Homebrew", "app": "ripgrep", "state": "ok", "version": "14.1.0", "tags": ["cli", "search"] } ]

hams list shows what was recorded at the last refresh or apply. It doesnโ€™t re-scan the machine. For fresh data, run hams refresh first.

Last updated on