# \> termcourse: read & post on Discourse instances from the terminal

**URL:** https://meta.discourse.org/t/termcourse-read-post-on-discourse-instances-from-the-terminal/395285
**Category:** Extras
**Tags:** experimental
**Created:** [February 5, 2026, 1:50pm UTC](https://meta.discourse.org/t/termcourse-read-post-on-discourse-instances-from-the-terminal/395285 "2026-02-05T13:50:49Z")
**Posts on this page:** 1
**Showing post:** 3

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [February 6, 2026, 2:42pm UTC](https://meta.discourse.org/t/termcourse-read-post-on-discourse-instances-from-the-terminal/395285/3 "2026-02-06T14:42:44Z")

</div>

This is pretty low-fi but it works.

You need to have `viu` or `chafa` installed - and that can be a project itself 🙂

In high quality mode on chafa or with viu, Windows Terminal is superior to MacOS terminal because it supports many more colours (thanks Microsoft!)

## Release Notes: Image Rendering (in the terminal!)

### Image Rendering

- Added inline post image previews with backend selection:
  - auto tries chafa first, then viu.
  - TERMCOURSE\_CHAFA\_MODE=stable|quality
  - stable: conservative output for terminal stability.
  - quality: higher-detail/color symbol rendering.

- Added preview height control:
  - TERMCOURSE\_IMAGE\_LINES (default: 14)
  - Applies to preview line height; useful for tuning visual density.

- Improved viu aspect behavior:
  - Switched to line-targeted rendering (-h) to preserve aspect ratio better.

- Added preview quality filter controls:
  - TERMCOURSE\_IMAGE\_QUALITY\_FILTER=1 filters noisy block-only previews.
  - Set to 0 to always show renderer output.

- Added image download safety limit:
  - TERMCOURSE\_IMAGE\_MAX\_BYTES (default: 5242880)
  - Prevents oversized image downloads from impacting performance.

- Added support for Discourse upload://… image links:
  - Automatically resolves to /uploads/short-url/…

- Improved terminal sanitization/stability:
  - Keeps valid SGR color codes where needed.
  - Strips destabilizing control/graphics sequences.
  - Prevents ANSI escape fragments from being displayed as raw text.

---

_[View the full topic](https://meta.discourse.org/t/termcourse-read-post-on-discourse-instances-from-the-terminal/395285)._
