posty-cli: the command line tool
Installing, the output contract, date handling, and why a scheduler needs a command line tool.
Installation
posty-clipostynpm install -g posty-clinpm install -g posty-cli
posty --version
posty --helpFirst commands
posty auth:login # sign in through the browser
posty auth:status # which workspace this machine is linked to
posty integrations:list # the connected channels, with IDsAll other commands expect this value as the channel ID. List it once and save it.
The output contract
Results go to stdout as JSON. Status messages and errors go to stderr. On failure, the command exits non-zero. That's what makes the output safe to pipe to other commands, and lets the caller know what happened.
# only the channel IDs
posty integrations:list | jq -r '.[].id'
# in a scheduled run, errors go to the log and the JSON to the consumer
posty posts:list --startDate ... --endDate ... > calendar.json 2>> errors.logDates and time zones
Always provide an unambiguous date. There are two valid ways to specify it:
- ISO 8601 with an explicit offset:
2026-12-31T12:00:00Zor2026-12-31T12:00:00+01:00. - A time without an offset and a specified time zone:
"2026-12-31 12:00"with the--timezone Europe/Budapestflag.
If you provide a date without an offset and don't set a time zone using the flag, the POSTY_TIMEZONE variable, or posty config:set timezone, the command exits with an error. That's intentional. A post scheduled for the wrong time without warning is much worse than an error message.
posty config:set timezone Europe/Budapest
posty config:get timezoneFor agents
The package includes a SKILL.md file that describes every command and flag. An agent with terminal access can learn to use the CLI from that file, without reading a website.
If your agent connects directly instead of working through a shell, use the MCP server instead.