waitwisdom
v1.1.1
Published
Fresh technology headlines in Claude Code wait states, with zero model-token usage.
Maintainers
Readme
WaitWisdom
WaitWisdom puts current technology headlines directly in Claude Code's normal wait-state spinner:
Patch for Windows Defender 0-day could allow attackers to fill hard disk — Ars Technica
It shows only the original headline and source. It does not summarize, rewrite, rank with AI, call Anthropic, inspect conversations, or consume model tokens.
Requirements
- Node.js 20 or newer
- Claude Code with
spinnerTipsOverrideandspinnerVerbssupport - macOS, Linux, or Windows
The Claude Code terminal is the supported surface. The VS Code extension uses the same settings file, but whether it renders spinner tips depends on its current UI implementation. WaitWisdom never injects code into Anthropic files.
Install
For a persistent waitwisdom command:
npm install --global waitwisdom
waitwisdom installOr run it without a global package installation:
npx waitwisdom@latest installWhen using the npx form, prefix later maintenance commands with npx as well.
Installation creates ~/.waitwisdom, adds two identifiable SessionStart command hooks to ~/.claude/settings.json, and saves the prior spinner configuration for safe removal. It writes each headline to both Claude's tip list and its primary spinner text so the headline is visible during work. Existing unrelated settings and hooks are preserved.
WaitWisdom takes ownership of the AI wait-state surface. During installation it removes known competing ad/wait-state extensions (Kickbacks, Claudearn, AIBC, RuntimeAds, and IdleAds), removes only their identifiable Claude settings/hooks, and restores recognized backup files such as .vibe-ads-backup and .runtimeads-backup. It does not remove unrelated extensions or status-line commands. Fully restart VS Code/Cursor after replacement so an already-running extension host cannot reapply an old patch.
After installing or repairing, fully exit every running Claude Code CLI session (Ctrl+C twice), start claude again, and submit a request. Headlines appear on the spinner while Claude is working; they do not appear at the idle ❯ prompt.
To preview the settings change without writing anything:
npx waitwisdom install --dry-runHow freshness works
At session start, a silent local hook immediately selects up to 25 unseen cached headlines. A second asynchronous hook checks for updates without blocking Claude. Session refreshes run at most once every ten minutes and use ETags or Last-Modified dates when publishers provide them. waitwisdom refresh always forces an immediate check.
Default sources:
- Hacker News' official near-real-time API
- BBC Technology RSS
- Ars Technica Technology Lab RSS
- TechCrunch RSS
- The Verge Atom feed
- MIT Technology Review RSS
- InfoQ Software Development RSS
- GitHub Blog RSS
- Cloudflare Blog RSS
- BBC Science & Environment RSS
Stories are normalized to remove duplicates, limited to 24 hours by default, and filtered to fit the spinner. WaitWisdom selects unseen stories in source-balanced rounds so one high-volume publisher cannot dominate. A failed or unchanged source retains its previous valid cache, but headlines older than the configured cutoff are never displayed.
WaitWisdom stores full article links, but does not put long URLs in the spinner. Run waitwisdom current to see and open the links. Always follow the publisher's terms when using its feed.
Commands
waitwisdom refresh
waitwisdom current
waitwisdom sources
waitwisdom status
waitwisdom doctor
waitwisdom doctor --repair
waitwisdom config
waitwisdom uninstall
npx waitwisdom@latest upgradeConfiguration example:
waitwisdom config \
--sources hacker-news,bbc-technology,ars-technica \
--headlines 20 \
--max-length 160 \
--max-age-hours 24 \
--refresh-minutes 10Use waitwisdom config --refresh false to stop automatic network refreshes. Manual waitwisdom refresh still works.
Existing v1.0 installations whose source list still matches the original four defaults receive all ten sources on upgrade. Customized source lists and existing freshness settings are preserved.
Privacy and token usage
WaitWisdom reads only its own configuration/cache and Claude's user settings file. It does not read project files, transcripts, prompts, responses, credentials, browser history, or repositories. It has no telemetry, accounts, advertising, backend, or Anthropic integration.
Successful session hooks write zero bytes to stdout and stderr. Because no hook output enters Claude's context and no model API is called, WaitWisdom's normal token usage is zero.
News requests go directly from the user's machine to the enabled sources. Those services can observe normal connection metadata such as the user's IP address.
Removal
waitwisdom uninstallThis removes only WaitWisdom's marked hooks and managed headlines, then restores the previous non-competing spinner settings. Tips or hooks added by another tool while WaitWisdom was installed are preserved through a three-way merge. Competing ad extensions removed during installation are not reinstalled.
Development
npm install
npm run check
npm run check:feeds
npm pack --dry-runcheck:feeds is a bounded live smoke test and is intentionally separate from fixture-based CI so temporary publisher downtime cannot make normal builds flaky.
See NEWS_POLICY.md, NOTICE.md, and SECURITY.md.
License
The WaitWisdom code is MIT licensed. News headlines and linked articles remain the property of their respective publishers and are not licensed under MIT.
