Pi, the AI coding agent, compiled ahead of time to native code so it starts faster and uses less CPU than Pi on Bun or Node.
bddicken/tuitter
A terminal UI client for X (Twitter) built with TypeScript and OpenTUI, letting you browse and interact with X from your shell.
Open-source alternative to:Twitter
- Stars
- 412
- Forks
- 34
- Open issues
- 1
- Last commit
- 7 months ago
What is it?
tuitter is a terminal user interface for X (Twitter). It runs in your shell and lets you sign in with your own X account to browse and interact with content without opening a web browser.
Authentication uses OAuth 2.0 with credentials from your own X developer app. On first launch the app opens your browser for authorization and stores the token locally, by default in ~/.tuitter/oauth-token.json. Configuration is handled through a .env file, including client ID, optional client secret, redirect URI, scopes, and image rendering mode.
The project also includes an optional daily screen-time limit set through a tuitter.conf file. Usage is tracked in a local state file, and the UI shows a warning banner once the limit is exceeded. It is built on Bun.
Key features
- 01Browse and interact with X content from the terminal.
- 02Authenticates with your own X developer app via OAuth 2.0.
- 03Stores the OAuth token locally after first-time browser authorization.
- 04Configurable image rendering with auto, kitty, or off modes.
- 05Optional daily screen-time limit that blocks usage once exceeded.
Use cases
- Reading your X timeline without leaving a terminal-based workflow.
- Keeping social media use within a daily time budget.
- Developers who prefer keyboard-driven tools in the shell.
Quick start
- 1
Clone the repository
git clone https://github.com/<your-org-or-username>/tuitter.git - 2
Enter the directory and install dependencies
cd tuitter && bun install - 3
Create your .env file and set X_CLIENT_ID
cp .env.example .env - 4
Link and start the app
bun link && tuitter
Things to know
- Requires your own X developer app with OAuth 2.0 credentials before it can run.
- No license is specified in the metadata, so reuse terms are unclear.
Topics
FAQ
- What is tuitter?
- A terminal UI client for X (Twitter) built with TypeScript and OpenTUI, letting you browse and interact with X from your shell. tuitter is a terminal user interface for X (Twitter). It runs in your shell and lets you sign in with your own X account to browse and interact with content without opening a web browser.
- Is tuitter free to use? What license does it have?
- tuitter has no declared license. Its code is public, but without a license you have no explicit permission to reuse it; ask the author before relying on it.
- Is tuitter still maintained?
- No commits for 6+ months. The last commit to tuitter was on Apr 5, 2026.
- What can I use tuitter for?
- Reading your X timeline without leaving a terminal-based workflow. Keeping social media use within a daily time budget. Developers who prefer keyboard-driven tools in the shell.
- How do I install tuitter?
- Clone the repository: git clone https://github.com/<your-org-or-username>/tuitter.git Enter the directory and install dependencies: cd tuitter && bun install Create your .env file and set X_CLIENT_ID: cp .env.example .env Link and start the app: bun link && tuitter
- Where can I get tuitter?
- The source code and installation instructions are on GitHub: https://github.com/bddicken/tuitter
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A fast all-in-one JavaScript and TypeScript toolkit: runtime, bundler, test runner, and package manager in a single executable.
A framework-agnostic authentication and authorization framework for TypeScript, with a plugin system for features like 2FA and multi-tenancy.
A terminal tool that replays Git commits as animated typing sessions with syntax highlighting and file tree transitions.
A browser terminal emulator built on Ghostty's WASM-compiled VT parser, with an xterm.js-compatible API.
Terminal API client that stores HTTP, GraphQL, gRPC, WebSocket and SSE requests as plain .http files you can version in git.