# How to schedule social media posts from the command line > A social media CLI authenticates with a personal access token, then exposes commands for drafting, scheduling & publishing that call the same underlying API a web dashboard uses. It fits scripts, local terminals & CI, not a replacement for the whole workflow. Updated: 2026-09-24. ## What a social media CLI actually is A CLI for social media scheduling is a thin client: it takes a command typed in a terminal, authenticates the request, & calls the same underlying API a web dashboard would call to do the same thing. It doesn't hold separate business logic or a separate database, it's a different way to reach the same platform. That thinness is a feature, not a limitation: it means anything the CLI can do stays consistent with what the web app shows, since they're both driving the same system underneath. ## Authenticating from a terminal A CLI typically authenticates one of two ways: an interactive device-login flow for a person setting it up on their own machine, or a personal access token for a script or CI job where no person is present to click through a login prompt. The token approach is what makes unattended automation possible, a scheduled job can run without anyone logging in each time it fires. ## The basic shape of a scheduling command A typical command specifies the content, the destination account or platform, & a time, then the CLI handles authentication & the API call underneath. The specifics vary by tool, but the shape is consistent: content in, a account or platform to send it to, when it should go out, & confirmation that it was accepted. ## Where a CLI fits alongside a dashboard A CLI isn't meant to replace a web dashboard's review & calendar view, it's meant to fit workflows where opening a browser doesn't make sense: a script generating a batch of posts from another data source, a coding agent posting a changelog entry as part of its own workflow, a CI job announcing a release automatically. DunSocial's CLI (`dun` / `dunsocial` on npm) is built specifically for this: local terminals, coding agents & CI, authenticating via a personal access token, & calling the same REST API that powers the web app & the MCP server underneath. Anything scheduled from the CLI shows up on the same calendar a person would see logging in directly. ## What still benefits from the dashboard Reviewing a batch of scheduled posts, checking how each one looks per platform, & catching anything that needs a last edit are all easier in a visual dashboard than in terminal output. A CLI is well suited to creating & scheduling posts programmatically; it's not the tool for the actual review pass before they go out. DunSocial's web calendar is exactly where that review happens for anything the CLI scheduled, since a post created from the terminal still lands there like any other. ## A realistic use case A team that publishes a changelog on every release could have their CI pipeline call DunSocial's CLI directly after a deploy, posting a short announcement automatically without anyone manually copying release notes into a composer. The post still lands on the calendar, still gets tagged with its source, & still goes through whatever review step the team has set up before it publishes. ## Related guides - [CLI vs API vs MCP: which one should you use?](https://www.dunsocial.com/hub/social-media-automation-for-developers/cli-vs-api-vs-mcp-which-one-should-you-use.md) - [What is a personal access token & how does it secure API access?](https://www.dunsocial.com/hub/social-media-automation-for-developers/what-is-a-personal-access-token-and-how-does-it-secure-api-access.md) - [How to automate social media posting in a CI/CD pipeline](https://www.dunsocial.com/hub/social-media-automation-for-developers/how-to-automate-social-media-posting-in-a-ci-cd-pipeline.md) - [How to bulk schedule social media posts](https://www.dunsocial.com/hub/social-media-scheduler/how-to-bulk-schedule-social-media-posts.md) ## About this document This is the Markdown representation of https://www.dunsocial.com/hub/social-media-automation-for-developers/how-to-schedule-social-media-posts-from-the-command-line. The HTML version of the same page is at the same URL. You can also request Markdown from any page by sending `Accept: text/markdown`. Machine-readable summary of the whole site: https://www.dunsocial.com/llms.txt ## Company - Product: DunSocial, https://www.dunsocial.com - Legal entity: THISUX PRIVATE LIMITED, Chennai, Tamil Nadu, India - Support: support@dunsocial.com - Open the app: https://app.dunsocial.com/login