Make the vocabulary yours.
Start with five defaults. Add roles, rename them, change their colors, and override one paper or project without changing the rest of the library.
PaperShelf is a PDF reader and research library. It searches every page, scans included, keeps highlights that mean something, and lets Claude, Codex or ChatGPT answer from your shelf with the passage and the page, without a file leaving the machine.
brew tap jonaprieto/papershelfbrew trust --cask jonaprieto/papershelf/papershelfbrew install --cask papershelfbrew update && brew upgrade --cask papershelfAd-hoc signed while notarization is on the roadmap.
A PDF reader you can drive from the keyboard: H, J, K and L to scroll, tabs, a split view, four page colours and presentation mode on ⌃⌘F, with a highlight language you can extend, edit, and scope to a paper, project, folder, or whole library.
Start with five defaults. Add roles, rename them, change their colors, and override one paper or project without changing the rest of the library.
Select a highlight in the page and its matching note is selected in the inspector. Add a note, dictate one, or export the complete Markdown. Marks made in Preview or Acrobat arrive here too.
Use the query language when you know what you want, or press ⌘K when you only know that the feature exists.
Search by title, author, abstract, text, folder, tag, year, pages, or size, and remove each filter as a chip.
Commands, tags, projects, documents, passages, pages, and shortcuts all live behind one native command surface.
PaperShelf proposes names, shows what changes, keeps originals when you ask, and gives the reviewer the final word.
Drag a pattern into place, preview the result, and keep the text form beside it.
2025-kashyap-composition-aware-pretraining.pdfBuilt from date · author · titleWhen a watched folder changes, PaperShelf checks new files against the shelf and opens a review before anything is removed.
Generate a complete BibTeX document from the current selection, with stable keys and missing fields called out where you can fix them.
Keys follow surname:year:firstword; formatting follows the settings you chose.
@article{kashyap:2026:composition,
author = {Kashyap Naveen, Aryan},
title = {A Composition-Aware Pretraining Framework},
year = {2026}
}Missing author, title, or year fields become navigable chips rather than silent blanks.
The bundled MCP server lets Claude Code, Codex, ChatGPT or any local MCP client search the shelf, read a page, list your highlights and build a bibliography, and answer with the passage and page it came from.
Read tools work immediately. File changes and semantic profile writes are explicit and off by default where they can change your files. Bookmark metadata stays local and can be polled by revision. Highlights and their notes are written into the PDF, the same way the reader writes them, and signed with who made them.
Settings > Integrations shows the line to paste into Claude Code or Codex, and the server path for any other client. The files remain on this Mac.
When a PDF is more than a file, the boring parts matter: conversion, indexing, costs, passwords, activity, and a key that does not sit in a plaintext preference.
API keys live in Keychain when available. Spend is recorded locally. Password lists, plans, activity, and indexes stay in Application Support.
What the next releases are for.
Download the latest build, or read the source and make the next careful improvement.