Post from your terminal

A terminal listing three connected channels, then scheduling a post to all of them for tomorrow morning

Orbitwrite has a command line now. It runs on the same API the app does, so a post you send from the terminal lands on the same calendar, in the same slots, behind the same approval rules as everything else.

npm install -g @orbitwrite/cli
orbitwrite login
orbitwrite post "Shipped it." --all --next

Sign in with your browser

orbitwrite login opens your browser, asks which workspace to use if you're in several, and asks you to approve access. There's no key to copy. The sign-in is saved in ~/.config/orbitwrite/credentials.json, readable only by you, and it refreshes itself, so you sign in once per machine.

The CLI shows up as "Orbitwrite CLI" under Settings, MCP, Connected apps, and Disconnect there cuts it off straight away. orbitwrite logout signs out from the terminal end.

Scripts and CI still use a workspace API key. Set ORBITWRITE_API_KEY or pass --api-key, and a key always wins over a stored sign-in.

Posting and scheduling

Every post says when it goes out, with one of --now, --at, --next, --draft or --plan.

orbitwrite post "Morning all" -c acc_1 --at "tomorrow 9am"
orbitwrite post "Shipped it." --all --next
orbitwrite post "Launch post" -c acc_1 --next --plan

--at takes plain English: 1pm, wednesday, next friday 2pm, in 2 hours. Times are read in your workspace timezone and printed back, so you can see what it picked before anything goes out. --next takes the earliest slot that's free on every channel you named, and --plan holds that slot without publishing.

Everything else it does

orbitwrite whoami            The workspace you're working in
orbitwrite channels          Connected channels
orbitwrite posts             Recent posts, filterable by status and score
orbitwrite score <post-id>   The post score and its checklist
orbitwrite plan <post-id>    Hold a slot for a saved post
orbitwrite slots             The weekly posting times
orbitwrite inbox             Replies and mentions, with reply, resolve and snooze
orbitwrite hashtags          Saved hashtag sets and each network's limits
orbitwrite cover <post-id>   The cover frame for a Reel or TikTok
orbitwrite alt-text <media>  Suggested alt text for an image
orbitwrite autodm            Auto-DM campaigns

Add --json to any command and it prints that command's result as JSON, which keeps jq happy:

orbitwrite channels --json | jq -r '.[].id'

Underneath it is the SDK, if you'd rather build this into something, and the CLI page has the full command reference.