README.md

July 18, 2026 Β· View on GitHub

circumflex

circumflex is a command line tool for browsing HackerΒ News in your terminal

Main view

Main features

  • πŸ›‹ Everything in one place β€” read both the comment section and articles in Reader Mode
  • 🌈 Syntax highlighting β€” syntax-aware formatting for comments and headlines
  • ⚑️ Vim-style navigation β€” scroll through, jump between and collapse threads with familiar keybindings

You might also like:

  • πŸ” Search β€” quickly find old submissions by searching all of HN
  • πŸͺŸ Wide view β€” story list and content side by side on wide terminals
  • 🀹 Native terminal colors β€” you bring your own color scheme, circumflex does the rest
  • πŸ’Ž Nerd Fonts β€” full support for Nerd Fonts as icons
  • ❀️ Add to favorites β€” save interesting submissions for later

Installing

The binary name for circumflex is clx.

# Homebrew
brew install circumflex

# Nix
nix-shell -p circumflex

# AUR
yay -S circumflex

# Go
go install github.com/bensadeh/circumflex/cmd/clx@latest

# From source
go run ./cmd/clx

Features

Comment section

Press Enter to view the comment section.

The comment section has two modes: read mode and navigate mode.

In read mode, you can scroll using the usual vim bindings. You can also jump between top-level comments ( n/N), and you can expand and collapse threads by quote level (h/l) or all at once (Enter).

In navigate mode, you can individually select comments and collapse specific threads.

comment section comment section

circumflex is read-only and does not support logging in, voting or commenting.

Reader Mode

Press Space to read the linked article in Reader Mode. Just like in the comment section, you can jump between headers using n/N, and you can scroll using the usual vim bindings.

reader mode reader mode

Wide view

On wide terminals, the comment section and Reader Mode open in a pane next to the front page instead of replacing it. The split kicks in at 180 columns; tune the threshold (or force it with always/never) using -w/--wide-view:

clx --wide-view always

Press / to search all of Hacker News, powered by Algolia. Sort by popularity or date with s and narrow the date range with d.

The comment section and Reader Mode also support search in the content with /: search for the term and jump between matches with n/N.

Favorites

Press f to add the highlighted submission to your favorites. Remove it with x.

You can also add a submission by ID from the command line:

clx add [id]

Favorites are stored in favorites.toml in the config directory, human-readable and VCS-friendly. A favorites.json from earlier versions is migrated automatically.

History

Visited submissions are marked as read, and comments added since your last visit are highlighted.

History is stored in history.json in the cache directory. Disable tracking with -d/--no-history, or clear it with:

clx clear

Categories

Switch between categories with Tab. The header shows top, best, ask, show and favorites by default. Pick which ones appear (and in what order) with the --categories flag:

clx --categories top,new,best

Available categories are top, best, new, ask, show, jobs and favorites.

Configuration

Every flag can be set persistently in config.toml. To customize, write out the default config:

clx default-config

Flags take precedence over the config file.

The config directory is ~/.config/circumflex on Linux and ~/Library/Application Support/circumflex on macOS; the cache directory is ~/.cache/circumflex and ~/Library/Caches/circumflex.

Theme

circumflex uses your terminal's color scheme by default. To customize, write out the default config and edit it:

clx default-theme

The theme lives in theme.toml in the config directory.

Keymaps

Main view keybindings β€” press i in any view for the full list, including comment and reader mode.

KeyAction
EnterView comments
SpaceReader Mode
TabNext category
/Search Hacker News
rRefresh stories
oOpen story in browser
cOpen comments in browser
fAdd to favorites
xRemove from favorites
uToggle read
qQuit

Usage

Run clx help or man clx for a full list of available commands and flags.