---
title: "Book enricher"
description: "Use when a book in your Trove library has a file name for a title or no author, description or table of contents. Covers what the book enricher fills in, when it runs, and how to queue a book for it."
url: https://docs.heytrove.ai/subagents/book-enricher
updated: 2026-10-06
---

# Book enricher

> Load this page when: you need to know how book metadata gets fixed, or why a book has a file name as its title

## For agents

- Run the book enricher in the background during an explicit research request, never in plan mode.
- Queue a book with poor metadata by running `trove items flag <id>`.
- Do not use the enricher to change a book's content or to re-import a book.

The book enricher fills in missing metadata for the books in your [library](https://docs.heytrove.ai/concepts/library-and-books.md).

| Signal | What happens |
|---|---|
| A research request runs | The enricher starts in the background |
| [Plan mode](https://docs.heytrove.ai/concepts/plan-and-auto-mode.md) is active | The enricher does not start |
| The enrichment queue is empty | The enricher exits at once |
| You ask your agent to flag a book | The book joins the queue |

## What it does

The enricher fills in the title, author, description and table of contents. It also adds a short prompt for using the book in your codebase, and a sample question. Each result carries a confidence score from 0 to 1. A low score means a person should review the result.

## When it starts

- In the background, alongside an explicit research request.
- Never in plan mode.
- Never in the inline fallback that runs when the host blocks subagents.

## Which books it touches

It touches only books in the `enrichmentQueue` from `trove items list --json`. The queue holds one to three books. Then these limits apply:

- At most 2 books per run.
- Only the first 10 pages of each book.
- It skips books that are still processing.
- It skips books whose metadata is already good.

## Put a book in the queue

Ask your agent: "Flag this book for metadata enrichment." [Item readers](https://docs.heytrove.ai/subagents/item-reader.md) also flag books with poor metadata. Flagging does not re-import the book.

## How it checks a table of contents

The enricher uses PDF page numbers, not printed page numbers. It works out the offset between them. It checks at least 3 entries before it submits. If it cannot find the offset, it skips the table of contents.

## What it never does

- It never changes a book's content.
- It never re-imports a book.
- It never touches books outside the queue.

## Errors and fixes

| Problem | Fix |
|---|---|
| `trove: command not found` | The shell PATH is stale. Open a new terminal or run `trove setup`. |
| Item not found | The enricher skips the book. Ask your agent to list your library and check the id. |
| Empty pages | The book may still be processing. Try again later. |
| The result is wrong | Edit the metadata in your library, or ask your agent to fix it. A low confidence score marks results to check. |

## Model and tools

The book enricher runs on Haiku. It uses Bash and Read.

## Direct CLI

Your agent runs these through the `trove` command. You can run them yourself in a terminal, but asking your agent is the recommended way: it picks the right flags, waits for processing and checks the result.

- Queue a book for enrichment: `trove items flag <id>`
- Check a book id: `trove items list`

See the [CLI reference](https://docs.heytrove.ai/reference/cli.md).

## Related

- [Item reader](https://docs.heytrove.ai/subagents/item-reader.md)
- [Book writer](https://docs.heytrove.ai/subagents/book-writer.md)
- [Library and books](https://docs.heytrove.ai/concepts/library-and-books.md)
