$npx -y skills add readwiseio/readwise-skills --skill readwise-officialAccess your Readwise highlights and Reader documents from the command line. Search, read, organize, and manage your entire reading library.
| 1 | # Readwise CLI |
| 2 | |
| 3 | Use the `readwise` command to access the user's Readwise highlights and Reader documents. Readwise has two products: |
| 4 | |
| 5 | - **Readwise** — highlights from books, articles, podcasts, and more. Includes daily review and spaced repetition. |
| 6 | - **Reader** — a read-later app for saving and reading articles, PDFs, EPUBs, RSS feeds, emails, tweets, and videos. |
| 7 | |
| 8 | ## Setup |
| 9 | |
| 10 | If `readwise` is not installed: |
| 11 | ```bash |
| 12 | npm install -g @readwise/cli |
| 13 | ``` |
| 14 | |
| 15 | If not authenticated, ask the user for their Readwise access token (they can get one at https://readwise.io/access_token), then run: |
| 16 | ```bash |
| 17 | readwise login-with-token <token> |
| 18 | ``` |
| 19 | |
| 20 | ## Discovering Commands |
| 21 | |
| 22 | Every command supports `--help` for full option details: |
| 23 | ```bash |
| 24 | readwise --help |
| 25 | readwise reader-search-documents --help |
| 26 | readwise readwise-list-highlights --help |
| 27 | ``` |
| 28 | |
| 29 | Add `--json` to any command for machine-readable output. Use `--refresh` to force-refresh cached data. |
| 30 | |
| 31 | ## Reader Commands |
| 32 | |
| 33 | ### Searching and browsing documents |
| 34 | |
| 35 | ```bash |
| 36 | # Semantic search across all saved documents |
| 37 | readwise reader-search-documents --query "spaced repetition" |
| 38 | |
| 39 | # Search with filters — by category, location, author, date range, tags |
| 40 | readwise reader-search-documents --query "machine learning" --category-in article --location-in later,shortlist |
| 41 | |
| 42 | # List recent inbox items with minimal fields (saves tokens) |
| 43 | readwise reader-list-documents --location new --limit 10 --response-fields title,author,summary,word_count,category |
| 44 | |
| 45 | # List archived articles by a specific tag |
| 46 | readwise reader-list-documents --location archive --tag "research" --category article |
| 47 | |
| 48 | # List unseen documents |
| 49 | readwise reader-list-documents --location new --seen false |
| 50 | ``` |
| 51 | |
| 52 | Reader locations: `new` (inbox), `later`, `shortlist`, `archive`, `feed`. When the user says "inbox", use `new`. |
| 53 | |
| 54 | ### Reading document content |
| 55 | |
| 56 | ```bash |
| 57 | # Get full document details including Markdown content |
| 58 | readwise reader-get-document-details --document-id <id> |
| 59 | |
| 60 | # Get all highlights on a document |
| 61 | readwise reader-get-document-highlights --document-id <id> |
| 62 | ``` |
| 63 | |
| 64 | ### Saving and creating |
| 65 | |
| 66 | ```bash |
| 67 | # Save a URL — Reader scrapes it automatically |
| 68 | readwise reader-create-document --url "https://example.com/article" |
| 69 | |
| 70 | # Save with metadata and tags |
| 71 | readwise reader-create-document --url "https://example.com" --title "My Title" --tags research,important |
| 72 | |
| 73 | # Save raw content (provide a unique URL as identifier) |
| 74 | readwise reader-create-document --title "Meeting Notes" --markdown "# Notes from today..." --url "https://me.com#notes-2024" |
| 75 | |
| 76 | # Highlight a passage (html-content must match the document's HTML exactly) |
| 77 | readwise reader-create-highlight --document-id <id> --html-content "<p>The key passage</p>" --note "Connects to..." |
| 78 | ``` |
| 79 | |
| 80 | ### Organizing |
| 81 | |
| 82 | ```bash |
| 83 | # Move documents between locations (max 50 per call) |
| 84 | readwise reader-move-documents --document-ids <id1>,<id2> --location archive |
| 85 | |
| 86 | # Bulk mark as seen |
| 87 | readwise reader-bulk-edit-document-metadata --documents '[{"document_id": "<id>", "seen": true}]' |
| 88 | |
| 89 | # Tag management |
| 90 | readwise reader-list-tags |
| 91 | readwise reader-add-tags-to-document --document-id <id> --tag-names important,research |
| 92 | readwise reader-remove-tags-from-document --document-id <id> --tag-names old-tag |
| 93 | |
| 94 | # Highlight tags and notes |
| 95 | readwise reader-add-tags-to-highlight --document-id <id> --highlight-document-id <hid> --tag-names concept |
| 96 | readwise reader-set-highlight-notes --document-id <id> --highlight-document-id <hid> --notes "My note" |
| 97 | ``` |
| 98 | |
| 99 | ### Exporting |
| 100 | |
| 101 | ```bash |
| 102 | # Export all documents as Markdown ZIP (async — poll for completion) |
| 103 | readwise reader-export-documents |
| 104 | readwise reader-get-export-documents-status --export-id <id> |
| 105 | |
| 106 | # Delta export — only docs updated since last export |
| 107 | readwise reader-export-documents --since-updated "2024-01-01T00:00:00Z" |
| 108 | ``` |
| 109 | |
| 110 | ## Readwise Commands |
| 111 | |
| 112 | ### Searching and browsing highlights |
| 113 | |
| 114 | ```bash |
| 115 | # Semantic search across all highlights (books, articles, podcasts, etc.) |
| 116 | readwise readwise-search-highlights --vector-search-term "learning techniques" |
| 117 | |
| 118 | # List recent highlights |
| 119 | readwise readwise-list-highlights --page-size 20 |
| 120 | |
| 121 | # Highlights from a specific book |
| 122 | readwise readwise-list-highlights --book-id <id> |
| 123 | |
| 124 | # Highlights from the last month |
| 125 | readwise readwise-list-highlights --highlighted-at-gt "2024-06-01T00:00:00Z" |
| 126 | ``` |
| 127 | |
| 128 | ### Creating and editing highlights |
| 129 | |
| 130 | ```bash |
| 131 | # Create a highlight (goes into a book matched by title/author, or "Quotes" if no title) |
| 132 | readwise readwise-create-highlights --highlights '[{"text": "The key insight", "title": "Book Title", "author": "Author Name"}]' |
| 133 | |
| 134 | # Update a highlight — change text, add note, manage tags, set color |
| 135 | readwise readwise-update-highlight --highlight-id <id> --note "Updated note" --add-tags concept,review --color |