- 2FA must be disabled for the account you use with this tool.
Warning
This may violate Twitter/X ToS. Use a fresh burner account and do NOT reuse your primary account.
Tip
For the best experience, we recommend using Ghostty
However, twit should still look good in other modern terminals.
Homebrew (macOS):
brew install --cask blacktop/tap/twitGitHub Releases:
- Download the latest release from GitHub Releases.
- Extract and move the binary into your
PATH:
chmod +x twit
mv twit /usr/local/bin/git clone https://github.com/blacktop/twit.git
cd twit
cargo build --release
./target/release/twitRequires Zig and cargo-zigbuild installed.
cargo install cargo-zigbuild
rustup target add x86_64-unknown-linux-gnu
cargo zigbuild --release --target x86_64-unknown-linux-gnu --no-default-featuresNote: --no-default-features disables audio playback (ALSA) for cross builds. Use a Linux build environment or cross if you need audio enabled.
You must extract cookies from an active X session in your browser.
Firefox:
- Log in to X.
- Open DevTools → Storage → Cookies →
https://x.com. - Copy the
auth_tokenandct0cookie values.
Chrome:
- Log in to X.
- Open DevTools → Application → Cookies →
https://x.com. - Copy the
auth_tokenandct0cookie values.
Put these values in config.yaml (see config.yml.example).
twit can summarize links and tweets (and optionally images) with multiple AI providers, and read summaries aloud via TTS.
Supported providers include:
- OpenAI
- Anthropic
- Google (Gemini)
- OpenRouter
- Copilot
- Local (Ollama / LM Studio)
- Apple Foundation Models (macOS only)
Behavior is configured under ai: in config.yaml:
enabled,provider,modelsummary_length(short/medium/long)system_prompt(controls tone/style)summarize_links,summarize_tweets,summarize_imagesmax_output_tokens(0 = auto)
API keys can come from config.yaml or env vars (see config.yml.example).
Supported TTS providers include:
- macOS
say - OpenAI
- ElevenLabs
Behavior is configured under tts: in config.yaml:
enabled,provider,voice,rate_wpmauto_speak_summaries
Use the TUI keys s to summarize and v to speak.
Config file location:
- macOS:
~/Library/Application Support/io.blacktop.twit/config.yaml - Linux:
~/.config/twit/config.yaml - Windows:
%APPDATA%\\io.blacktop.twit\\config.yaml
Start from config.yml.example and copy it to the location above.
Logging is disabled by default. To enable debug logging:
# Via CLI flag (for one session)
twit --debug
# Or set in config.yaml (persistent)
debug: trueLogs are written to:
- macOS:
~/Library/Caches/io.blacktop.twit/twit.log - Linux:
~/.cache/twit/twit.log
MIT License - see LICENSE for details.
