Start here when the task says "use Halo CLI" but does not yet say whether it is auth, content, search, operations, or moderation.
Install And Verify
Install globally:
npm install -g @halo-dev/cli
Binary name:
halo
Check version and top-level help:
halo --version
halo --help
Top-Level Areas
authpostsingle-pagesearchpluginthemeattachmentbackupmomentcommentnotificationcompletion <shell>— Generate shell completion script (bash, zsh, fish, powershell)
Shared Rules
- Most command areas require an authenticated profile.
- Use
halo auth loginto create a profile. - Use
--profile <name>when more than one profile exists. - Use
--jsonwhen output is meant for automation or follow-up parsing. - In non-interactive mode, dangerous commands usually require
--force. - Read
--helpbefore guessing flags for a specific command.
Public vs Authenticated
Most areas require auth.
The main public workflow is halo search, which can use a direct site URL without login:
halo search --keyword "halo" --url https://www.halo.run
Config And Secrets
Profile metadata is stored in:
$HALO_CLI_CONFIG_DIR/config.jsonifHALO_CLI_CONFIG_DIRis set- otherwise
$XDG_CONFIG_HOME/halo/config.json - otherwise
~/.config/halo/config.json
Credentials are stored in the system keyring.
Routing
- Use
halo-cli-authfor login, current profile, profile list/use/delete, and credential repair. - Use
halo-cli-contentfor posts and single pages. - Use
halo-cli-searchfor public site search. - Use
halo-cli-operationsfor themes, plugins, attachments, backups, and moments. - Use
halo-cli-moderation-notificationsfor comments, replies, and notifications.