Please consider becoming an ongoing sponsor of my open source work (Sponsor @merefield on GitHub Sponsors · GitHub) at a level that suits your or your organisation’s resources and needs to ensure this project gets the maintenance it deserves and continues to work for your site in the future.
> termcourse is a terminal‑based client for Discourse. It behaves like a lightweight browser session with cookie‑based login (username/email + password) and supports TOTP/backup codes for MFA. There’s also an API key fallback for locked‑down or SSO‑only sites.
Features
Browse Latest / Hot / New / Unread / Top topic lists, with Top period cycling.
Open topics via arrows + Enter, or number hotkeys (1-0) for the first 10 visible topics.
View full topics with scrollable posts, sticky header/footer, and a post position/progress bar.
Expand selected posts to full content; non-selected posts show compact excerpts.
Reply to entire topics or specific posts.
Create new topics with title, category picker, and inline body composer.
Like/unlike posts with per-post visual heart state.
Search posts and jump directly to the matching topic/post context.
Inline composer supports cursor movement, insertion, new lines, backspace, and live min-length counter.
Markdown-aware rendering, including wrapped links and inline image preview support (chafa / viu).
Emoji substitutions for common :emoji: tokens and :)-style smiles.
Multi-site credential support via env + per-host credentials.yml (with prompt-for-missing login fields).
Cookie-session username/password login with MFA support (TOTP + backup code), plus API-key fallback.
YAML-driven theming with built-ins (default, slate, fairground) and local overrides via theme.yml.
Reactive resize redraw with configurable poll interval (TERMCOURSE_TICK_MS).
Optional debug logging for HTTP/auth and UI render diagnostics.
A note: I’ve found one site that blocks remote username/password so this client will not work in that situation (unless you own it and can set an API key!)- suggestions welcome, but currently no support in those instances.
I’m not sure I’ll use this in the real world, I don’t see the use for me, but I’ve tried it and it’s delightful. I love being able to interact with a next-gen forum platform from a bare-metal, primitive interface.
If you make the effort to install chafa or viu, you will now be rewarded with a new feature: “full window” toggle for post images. On Windows this is particularly good because of the generous colour depth support in Windows Terminal app
termcourse now has an unread PM status pop-up in the topic list status bar and just like the browser client will post back read notifications post by post as you move the cursor