| name | bird |
| description | X/Twitter CLI for reading, searching, posting, and engagement via cookies. |
| metadata | {"argent":{"homepage":"https://bird.fast","emoji":"🐦","requires":{"bins":["bird"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/bird","bins":["bird"],"label":"Install bird (brew)","os":["darwin"]},{"id":"npm","kind":"node","package":"@steipete/bird","bins":["bird"],"label":"Install bird (npm)"}]}} |
bird 🐦
Fast X/Twitter CLI using GraphQL + cookie auth.
Install
npm install -g @steipete/bird
brew install steipete/tap/bird
bunx @steipete/bird whoami
Authentication
bird uses cookie-based auth.
Use --auth-token / --ct0 to pass cookies directly, or --cookie-source for browser cookies.
Run bird check to see which source is active. For Arc/Brave, use --chrome-profile-dir <path>.
Commands
Account & Auth
bird whoami
bird check
bird query-ids --fresh
Reading Tweets
bird read <url-or-id>
bird <url-or-id>
bird thread <url-or-id>
bird replies <url-or-id>
Timelines
bird home
bird home --following
bird user-tweets @handle -n 20
bird mentions
bird mentions --user @handle
Search
bird search "query" -n 10
bird search "from:steipete" --all --max-pages 3
News & Trending
bird news -n 10
bird news --ai-only
bird news --sports
bird news --with-tweets
bird trending
Lists
bird lists
bird lists --member-of
bird list-timeline <id> -n 20
Bookmarks & Likes
bird bookmarks -n 10
bird bookmarks --folder-id <id>
bird bookmarks --include-parent
bird bookmarks --author-chain
bird bookmarks --full-chain-only
bird unbookmark <url-or-id>
bird likes -n 10
Social Graph
bird following -n 20
bird followers -n 20
bird following --user <id>
bird about @handle
Engagement Actions
bird follow @handle
bird unfollow @handle
Posting
bird tweet "hello world"
bird reply <url-or-id> "nice thread!"
bird tweet "check this out" --media image.png --alt "description"
⚠️ Posting risks: Posting is more likely to be rate limited; if blocked, use the browser tool instead.
Media Uploads
bird tweet "hi" --media img.png --alt "description"
bird tweet "pics" --media a.jpg --media b.jpg
bird tweet "video" --media clip.mp4
Pagination
Commands supporting pagination: replies, thread, search, bookmarks, likes, list-timeline, following, followers, user-tweets
bird bookmarks --all
bird bookmarks --max-pages 3
bird bookmarks --cursor <cursor>
bird replies <id> --all --delay 1000
Output Options
--json
--json-full
--plain
--no-emoji
--no-color
--quote-depth n
Global Options
--auth-token <token>
--ct0 <token>
--cookie-source <source>
--chrome-profile <name>
--chrome-profile-dir <path>
--firefox-profile <name>
--timeout <ms>
--cookie-timeout <ms>
Config File
~/.config/bird/config.json5 (global) or ./.birdrc.json5 (project):
{
cookieSource: ["chrome"],
chromeProfileDir: "/path/to/Arc/Profile",
timeoutMs: 20000,
quoteDepth: 1,
}
Environment variables: BIRD_TIMEOUT_MS, BIRD_COOKIE_TIMEOUT_MS, BIRD_QUOTE_DEPTH
Troubleshooting
Query IDs stale (404 errors)
bird query-ids --fresh
Cookie extraction fails
- Check browser is logged into X
- Try different
--cookie-source
- For Arc/Brave: use
--chrome-profile-dir
TL;DR: Read/search/engage with CLI. Post carefully or use browser. 🐦