Waiting for Claude Code to finish? Read the latest one-line news right in your status line. A rotating regional headline sits at the bottom of your session — so a long wait turns into a quick news check. It shows below your existing status line (your HUD stays).
curl -fsSL https://raw.githubusercontent.com/itdar/newsline/master/install.sh | sh
brew install itdar/tap/newsline && newsline init
npm i -g newsline-cli && newsline init
/plugin marketplace add itdar/newsline
/plugin install newsline@itdar
Pick whichever you already have — you only need one. (No brew
/npm
? Use the curl
line.)
The news line appears on your next message — no restart. Setup asks for a language, topic & headline color and keeps your existing status line.
Your machine fetches and shows the news— it never touches your code, prompts, files, or Claude conversations.- A small edge service picks the best regional sources and routes headline clicks, so sources stay fresh without reinstalling. If it's unreachable, newslinefalls back to built-in feeds. - The status line is instant (served from a cache); refreshes run in the background.
Everything that runs on your machine is in this repo — and this is the complete list of what ever leaves it:
Feed curation(at most once per hour):lang
, coarse country, local time, day of week, timezone offset,topic
, and the plugin version go to the edge service so it can pick fresh regional sources. No tracking ID, no personal data.Headline clicks: links open through a small redirect (it sees the article URL pluslang
/topic
/version), so dead sources can be swapped server-side and clicks counted in aggregate. There is no per-user identifier.Never sent, never read: your code, prompts, files, or Claude conversations. The status line renders from a local cache and never blocks on the network.
Fully local mode: set "api": "off"
and "endpoint": "off"
in
~/.config/newsline/config.json
— feeds come from the bundled feeds.json
and headlines link straight to the articles. Nothing is contacted except the news feeds themselves.
Re-run newsline init
, or edit ~/.config/newsline/config.json
:
| Key | Default | Meaning |
|---|---|---|
lang |
||
auto |
||
ko ja en es fr de pt zh , or auto |
||
topic |
||
general |
||
general tech business world sports science health entertainment |
||
rotate |
||
6 |
||
| seconds per headline | ||
count |
||
15 |
||
| headlines in rotation | ||
maxlen |
||
120 |
||
max characters (max = no cut) |
||
icon |
||
📰 |
||
leading glyph (none to hide) |
||
color |
||
magenta |
||
headline color: default gray white cyan yellow green blue magenta red |
||
clickhint |
||
auto |
||
click-modifier hint before the headline (auto per terminal, off to hide, or custom text) |
Set one directly with newsline color <name>
(e.g. newsline color gray
), or run
newsline color
with no name to step to the next color (default → gray → white → cyan →
yellow → green → blue → magenta → red). newsline colorlist
lists them all with a live preview. Changes show on the next status-line tick.
Update the same way you installed — your language/topic/color settings are kept:
curl -fsSL https://raw.githubusercontent.com/itdar/newsline/master/install.sh | NEWSLINE_NO_INIT=1 sh
brew update && brew upgrade newsline
npm i -g newsline-cli@latest
Claude Code plugin: run /plugin marketplace update itdar
, then /reload-plugins
(or restart). You can also enable background auto-update under /plugin
→ Marketplaces.
newsline uninstall # restores your previous status line
newsline uninstall --purge # also removes the CLI binary + the PATH line install.sh added
Needs bash
python3
(macOS / Linux; Windows via WSL).
Bug reports and PRs welcome — see CONTRIBUTING.md for local setup, testing, and the release process.