arXiv Subscription Viewer

A terminal inbox for daily arXiv.

Review saved digest archives or live arXiv search results, then tag, summarize, cite-check, and export papers without leaving the TUI.

history/ archive live arXiv search local notes + tags optional S2 / HF / LLM
arxiv-viewer
/ cat:cs.AI unread
Ctrl+p commands
Ctrl+s summary
arXiv Subscription Viewer terminal interface showing a paper list, filters, and detail pane

local-first notes, tags, bookmarks, and exports

on-demand citations, trending signals, summaries, and relevance

Install

$ uv tool install arxiv-subscription-viewer

Alternative: pip install arxiv-subscription-viewer

Workflow pillars

The app is organized around the real paper-review loop: scan, enrich, organize, and export.

Scan quickly

Filter with fuzzy search, structured query tokens, bookmarks, watch lists, history navigation, and keyboard-first movement through loaded papers.

Enrich on demand

Pull in Semantic Scholar citations, HuggingFace daily-paper signals, and LLM summaries, chat, relevance scoring, or auto-tagging only when they help.

Organize the reading queue

Track read state, stars, tags, notes, marks, bookmarks, and collections so your next pass through the literature starts from your own metadata.

Export without lock-in

Open PDFs, copy metadata, export BibTeX/Markdown/RIS/CSV, download files in batches, and snapshot your annotations for backup or migration.

Quick Start

Install once, then choose the workflow that matches how you already follow the literature.

$ uv tool install arxiv-subscription-viewer
# or: pip install arxiv-subscription-viewer
Path 1

history/ workflow

Run arxiv-viewer from the directory that contains your history/ folder. The app restores session state, keeps date navigation available, and works well when you review daily digests in order.

$ mkdir -p ~/research/arxiv/history
$ cd ~/research/arxiv
# Save digest as history/2026-02-13.txt
$ arxiv-viewer

Tip: automate this by writing each digest to history/YYYY-MM-DD.txt.

Path 2

No-email / API workflow

Skip local digest files entirely and start from live arXiv search results when you want to scan the latest matching papers immediately.

$ arxiv-viewer search --category cs.AI
# or: arxiv-viewer search --query "diffusion transformer" --field title

Use this path when you want the latest matching papers without maintaining a local archive first.

Useful launch commands

arxiv-viewer --color never --ascii

arxiv-viewer dates

arxiv-viewer doctor

Default destinations

General exports: ~/arxiv-exports/

PDF downloads: ~/arxiv-pdfs/

Metadata portability: explicit timestamped JSON snapshots

First 2 Minutes

A short keyboard-first walkthrough once the app is open.

?

Open the help overlay and scan the main shortcuts without leaving the paper list.

/

Open search, type something like cat:cs.AI, and narrow the visible papers immediately.

Space

Select the highlighted paper so browser, export, copy, and download actions can operate on it.

o

Open the current or selected paper in your browser.

E

Open the export menu for BibTeX, Markdown, RIS, CSV, and clipboard workflows. File exports go to ~/arxiv-exports/ by default.

A

Jump into an arXiv API search without restarting the app.

Ctrl+p

Open the command palette for metadata, collections, and advanced workflows.

[ ]

Move to the previous or next digest date when you are in history/ mode.

Advanced Workflows

Start with local browsing or live search, then layer these in when a paper deserves deeper context.

Semantic Scholar

Prerequisites: optional s2_api_key for higher rate limits, plus Ctrl+e at runtime or "s2_enabled": true in config.

First use: press Ctrl+e to enable enrichment, then e on a paper to fetch citations, TLDR, and fields of study. Use R and G after that.

HuggingFace Trending

Prerequisites: toggle with Ctrl+h or enable on startup with "hf_enabled": true.

First use: press Ctrl+h, let the app cross-match the loaded papers, then inspect the HuggingFace section in the detail pane for upvotes, GitHub links, keywords, and summaries.

AI Summary / Chat / Relevance / Auto-Tag

Prerequisites: configure llm_preset or llm_command; relevance scoring also uses research_interests.

First use: try Ctrl+s for summaries, C for chat, L for relevance scoring, and Ctrl+g for auto-tagging. Custom LLM commands prompt for trust on first execution.