A terminal-based Farcaster client
  • TypeScript 98.2%
  • Shell 1.2%
  • JavaScript 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nikita Kolmogorov 3d84488fb7 Add funding links
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:24:38 -07:00
.github Add funding links 2026-10-08 15:24:38 -07:00
bin cli.js to cli.cjs so Node stops shouting 2026-02-21 02:57:52 +03:00
src Add welcome screen onboarding and fix terminal overflow 2026-02-20 14:46:09 -08:00
.gitignore Fix bin entry for npm and bump to 0.1.1 2026-02-20 14:02:15 -08:00
bun.lock Initial release: terminal-based Farcaster client 2026-02-20 13:52:55 -08:00
LICENSE Initial release: terminal-based Farcaster client 2026-02-20 13:52:55 -08:00
package.json something something very important change 2026-02-21 02:58:33 +03:00
PKGBUILD Fix binary build: exclude react-devtools-core from bundle 2026-02-20 14:53:24 -08:00
README.md Add welcome screen onboarding and fix terminal overflow 2026-02-20 14:46:09 -08:00
tsconfig.json Initial release: terminal-based Farcaster client 2026-02-20 13:52:55 -08:00

farcaster-tui

A terminal-based Farcaster client. Read and write to the Farcaster network directly from your terminal using Hub HTTP APIs.

Features

  • Browse your home feed (casts from accounts you follow)
  • View user profiles and cast history
  • Read threads and replies
  • Search users by username or FID
  • View notifications (mentions)
  • Compose and publish casts
  • Like, recast, reply, follow/unfollow
  • Multiple signer support with encrypted key storage
  • Configurable hub URL (default: hub.merv.fun)
  • Vim-style navigation
  • No data caching — always fresh from the hub

Install

npm (requires Bun)

bun install -g farcaster-tui
farcaster-tui

Or run without installing:

bunx farcaster-tui

AUR (Arch Linux)

yay -S farcaster-tui

From source

git clone https://github.com/backmeupplz/farcaster-tui.git
cd farcaster-tui
bun install
bun src/index.tsx

Keybindings

Key Action
j / k / arrows Navigate up/down
Enter Open thread / select
q / Esc Go back / quit
1 Feed
2 Notifications
3 Search
4 Your profile
n New cast
r Reply to selected cast
o Open author's profile
R Refresh
g / G Jump to top/bottom
s Signer manager
? Settings

Setup

Reading (no signer needed)

Set your FID in settings (? key) to see your home feed. Without a FID, you'll see sample casts.

Writing (signer required)

To publish casts, like, recast, or follow, you need an Ed25519 signer key registered to your Farcaster account.

  1. Press s to open the signer manager
  2. Press i to import a signer
  3. Paste your Ed25519 private key (hex)
  4. Enter your FID
  5. Set an encryption password

Your signer key is encrypted with AES-256-GCM and stored in ~/.config/farcaster-tui/signers.json.

How to get a signer key

Create a signer using Warpcast or any Farcaster client that supports signer management. The private key is a 64-character hex string (32 bytes Ed25519).

Configuration

Config is stored in ~/.config/farcaster-tui/config.json:

{
  "hubUrl": "https://hub.merv.fun",
  "fid": 12345
}

Hub URL

The default hub is https://hub.merv.fun. You can change it in settings or by editing the config file. Some public hubs:

  • https://hub.merv.fun
  • https://hub.pinata.cloud
  • https://nemes.farcaster.xyz:2281

Development

git clone https://github.com/backmeupplz/farcaster-tui.git
cd farcaster-tui
bun install

Run in dev mode with hot reload (restarts on any file change):

bun dev

Run once without watch:

bun start

Type check:

bun run typecheck

Build a standalone binary:

bun run build
./farcaster-tui

Tech Stack

License

MIT