cv4pve-cli is a comprehensive command-line interface tool for Proxmox VE that provides
powerful management and automation capabilities for your virtualization infrastructure.
Features:
- VM/Container management and automation
- Snapshot and backup operations
- Resource monitoring and management
- Cluster operations
- Advanced scripting capabilities
- Multiple output formats (Text, HTML, JSON, Markdown)
- Batch operations support
- Integration with Proxmox VE API
Added a task command tree to inspect and follow async Proxmox tasks by UPID: task list, task show, task wait, task log (with --follow to tail live, polling every 2s) and task stop.
Every alias now honors --wait to block until the async Proxmox task finishes (previously the flag was ignored on aliases — start/backup/migrate were fire-and-forget).
Aliases
Added do restore vm and do restore ct to restore a guest from a vzdump backup archive.
Added Ceph read aliases: get ceph status/flags and get node ceph status/osds/mons/mgrs/pools/fs/config.
Scripting
Commands now return semantic exit codes (0 ok, 1 generic, 2 auth/config, 3 not-found, 4 api/server, 5 task-failed, 6 validation) and print errors to stderr instead of stdout — previously failures printed to stdout and still returned 0.
Bug fixes
Fixed a startup crash (ArgumentNullException) that made every command fail — the --log-level option was not registered.
Documentation
Added docs/commands.md (core command reference) and docs/aliases.md (full alias list, regenerable via alias list --output markdown), linked from the README.
Added tips for running cv4pve-cli inside AI coding assistants (docs/AI-AGENTS.md).
What's Changed
docs: add guide for using cv4pve-cli with AI coding assistants (#10) by @franklupo in #11
Add restore/ceph aliases, docs pages, fix startup crash by @franklupo in #12
Add semantic exit codes and send errors to stderr by @franklupo in #13
Wire --wait on aliases (was hardcoded false) by @franklupo in #14
Add task subcommand (list/show/wait/log --follow/stop) by @franklupo in #15
Release 2.3.0 by @franklupo in #16
Full Changelog: v2.2.1...v2.3.0