If you live in the terminal, you can post to social from there. No browser. No app switching. One command.
Install
npm install -g tinyposter
Works on Mac, Linux, and Windows.
Login
tinyposter login
This opens a browser, signs you in, and saves your token locally. Done once.
Or set the token directly:
export TINYPOSTER_TOKEN=tp_YOUR_TOKEN
Post to one platform
tinyposter post "shipped a thing today" --to X
Post to many platforms
tinyposter post "shipped a thing" --to X,THREADS,LINKEDIN,BLUESKY
Post a photo
tinyposter post "what i ate today" --to INSTAGRAM --image meal.jpg
Post a video
tinyposter post "60 second tip" --to TIKTOK,YOUTUBE_SHORTS --video clip.mp4
Post a carousel
tinyposter post "5 lessons" --to INSTAGRAM --image cover.jpg,slide-1.jpg,slide-2.jpg,slide-3.jpg,slide-4.jpg
Schedule for later
tinyposter post "monday hot take" --to X --at "2026-05-26T08:00:00Z"
See your calendar
tinyposter calendar
Outputs a list of upcoming scheduled posts with timestamps.
Cancel a scheduled post
tinyposter cancel <post_id>
Common workflows
Cross-post a Substack article
tinyposter post "$(cat post-summary.txt)" --to X,THREADS,LINKEDIN
Schedule a week of posts from a CSV
while IFS=, read -r time text platform; do
tinyposter post "$text" --to "$platform" --at "$time"
done < schedule.csv
Quick "I shipped X" announcement
tinyposter post "just shipped: $(git log -1 --pretty=%s)" --to X,BLUESKY
Pipe from any script
The CLI exits 0 on success. Use it in CI:
npm run build && tinyposter post "deploy done" --to X
Or in a make target. Or a cron job. Or anywhere.
Try it
npm install -g tinyposter is free. The service is $9/mo with 3 days free.