x-cli is a professional-grade command-line interface for X (formerly Twitter). It provides a rich, interactive experience directly in your terminal, with support for two distinct flavors:
- TypeScript Client (Primary): A modern, reactive TUI built with React and Ink. Best for users who want a rich UI with high-fidelity media rendering.
- Python Client (Secondary): A lightweight, low-resource client built with Curses. Ideal for minimal environments or older hardware.
- Cross-Platform: Runs on macOS, Linux, and Windows.
- Rich TUI: Pane-based navigation, scrollable timelines, and interactive compose.
- Media Support: View images inline using Sixel, iTerm2, Kitty, or ASCII fallback protocols.
- Auth: Secure OAuth 2.0 Device Code flow. No hardcoded passwords.
- Configurable: Extensive configuration via
~/.x-cli/config.yaml. - Resilient: Offline read mode, queued tweets, and robust rate-limit handling.
npm install -g @xcli/clipip install x-clibrew tap xcli/tap
brew install x-cliFirst, log in to your account:
x-cli auth loginFollow the on-screen instructions to authorize the device.
- View Home Feed:
x-cli feed - Compose a Tweet:
x-cli compose - Search:
x-cli search "keywords" --media - Notifications:
x-cli notify - Configuration:
x-cli config edit
j/k: Scroll down/upEnter: View detailsr: Replyl: Liket: Retweetq: Quotec: Compose new tweet?: Show help
The configuration file is located at ~/.x-cli/config.yaml.
theme: "default"
media:
autoplay: false
protocol: "auto" # options: kitty, iterm2, sixel, ascii, braille
network:
backoffBaseMs: 1000
privacy:
redactHandles: falseSee CONTRIBUTING.md for details on how to build and contribute.
MIT License. See LICENSE.
This is an unofficial client. Use at your own risk. Comply with X/Twitter Terms of Service.