- Identify whether the browser, book format, permissions, or proxy causes failed actions.
- Test Chrome, Firefox, mobile views, and local access before changing calibre.
- Use server logs and clean libraries to isolate stubborn download failures.
- Confirm the Symptom With a Small Safe Test
- Check the Book, Library, and Content Server Settings
- Check the Browser and Download Controls
- Check Permissions, Security Software, and Network Routing
- Use Logs to Identify the Failed Request
- Run a Clean Temporary Test Before Reinstalling
- Quick Fix Checklist
- Frequently Asked Questions
You can browse your library, open a book’s details, and see the Download, Read, or format buttons, but clicking them does nothing, opens an error, or returns you to the same page. When the calibre Content Server download button is not working, the server itself is usually reachable. The failure is more likely to involve the browser, the selected book’s available formats, file permissions, account access, or a reverse proxy that is sending action requests to the wrong URL. The safest approach is to test one known-good book locally, identify the failing layer, and stop as soon as the action works.

Start with free Canva bundles
Browse the freebies page to claim ready-to-use Canva bundles, then get 25% off your first premium bundle after you sign up.
Free to claim. Canva-ready. Instant access.
1. Confirm the Symptom With a Small Safe Test
Begin with a controlled test instead of changing several calibre settings. This establishes whether the problem affects one book, one browser, one device, or every request handled by the Content server.
1.1 Test the Server on the Computer Running calibre
On the computer where calibre is running, open an up-to-date version of Chrome or Firefox and visit the local Content server address. With the default port, that is usually http://127.0.0.1:8080. If you configured another port, use that port instead.
Choose a book that you know contains an EPUB or PDF file. Open its details page and click the named format button or Download button. Then try Read if it is available.
Success looks like this: the browser starts downloading the file, asks where to save it, or opens calibre’s browser-based reader. If the local test works, stop changing calibre’s library settings. The problem is probably limited to the remote browser, network path, authentication layer, or reverse proxy.
If the button also fails through the local address, continue testing the book, library, browser, and server process.
1.2 Determine Which Actions Fail
Record exactly what happens with each action:
- Download does nothing at all
- Download opens a blank tab or an error page
- Read fails, but direct format downloads work
- One format works while another fails
- Buttons work for some books but not others
- Everything works locally but fails through the public address
This distinction matters. A Read-only problem can involve preparation of the book for the web viewer, while a failed direct format download more often points to a missing file, permissions problem, browser restriction, broken URL, or interrupted transfer.
2. Check the Book, Library, and Content Server Settings
2.1 Verify That the Book Format Actually Exists
A metadata record is not the same thing as an available e-book file. calibre can display a title, author, cover, and description even when the expected EPUB, PDF, AZW3, or other format is absent.
Open the book in the main calibre application. In the book details panel, look for the Formats entry. You can also open Edit metadata and inspect the available formats. Confirm that the format you expect to download is listed.
If the required format is missing, add a legitimate source file you own or convert an existing supported format within calibre. Do not assume that changing the preferred output format automatically creates that format for every existing book.
Success looks like this: the format appears in the book’s calibre record and becomes a selectable download option in the Content server after refreshing the page. Stop troubleshooting browser or network settings if adding the missing format resolves the problem.
2.2 Test More Than One Book and Format
Try at least two books with known-good files. For one book, test a common format such as EPUB or PDF. If one file fails while other files download normally, the server-wide configuration is probably healthy.
For an isolated failure, use calibre’s built-in viewer to open the source file on the host computer. If the file cannot be opened there, replace it from a valid backup or recreate the format from a usable source. A zero-byte, incomplete, or damaged file cannot be repaired by changing Content server settings.
2.3 Confirm That the Correct Library Is Being Served
Users with multiple libraries can accidentally inspect a book in one library while the Content server exposes another copy or an older library. Check the library name shown in the web interface and compare its book formats with the main calibre application.
If you launch calibre-server separately, verify the library path supplied to the command or service. Paths containing spaces must be quoted. Also confirm that the service has not retained an outdated path after the library was moved.
Success looks like this: the web interface shows the same metadata, formats, and recent changes as the library open in calibre.
2.4 Review User Account and Library Access
If Content server authentication is enabled, sign out and sign back in with the intended account. Confirm that the account is allowed to access the affected library. An account may be able to reach the server while still having restricted access to particular libraries.
Test with a known authorized account rather than disabling authentication on an internet-facing server. If the authorized account works, correct the affected account’s permissions and leave the broader security settings intact.
Success looks like this: the account can open the intended library and download its available book formats. Once that happens, do not weaken authentication or expose the server without a password.
2.5 Separate Download Problems From Reader Problems
The Read button and a direct format download do not always follow exactly the same processing path. The browser reader may need to prepare and cache book content, while a format button sends the stored file directly.
- If Download works but Read fails, test another EPUB and inspect the server log for viewer-preparation errors.
- If Read works but a format download fails, verify that specific format file and its permissions.
- If neither works, focus first on browser requests, server logs, permissions, and proxy routing.
Conversion preferences, metadata download sources, email accounts, USB settings, and device detection are not normally involved in a direct Content server download. Change those settings only if your actual workflow invokes them, such as converting a missing format before downloading it.
3. Check the Browser and Download Controls
3.1 Test Current Chrome and Firefox
The standard Content server interface uses modern browser features. Test the same book in an updated desktop version of Chrome and Firefox. Use a normal window first, then a private or incognito window to reduce interference from cached data and extensions.
If the action works in one browser, calibre and the book file are probably functioning. Clear site data for the Content server in the failing browser, disable extensions for that site, and reload it. Content blockers, script-control extensions, privacy tools, download managers, and security extensions can interrupt button actions or redirect responses.
Success looks like this: clicking Download immediately produces a download entry, save prompt, or completed file. Stop altering the server when a clean browser profile resolves the symptom.
3.2 Check Popup and Download Blocking
Look for a blocked-popup, blocked-download, or permission icon in the browser’s address bar. Allow downloads and popups for the specific trusted Content server address. Avoid enabling them globally.
Also inspect the browser’s downloads page. The click may have worked even though the browser silently quarantined, blocked, or renamed the file. If the browser reports an unsafe connection, mixed content, or repeated redirect, investigate the HTTPS and reverse proxy configuration instead of overriding warnings without understanding them.
3.3 Refresh Cached Server Data
If the interface still shows an old format after you converted, replaced, or removed a book file, perform a hard refresh or clear site data for the server. Then reopen the book from the library page rather than reusing an old bookmarked details URL.
Restarting the Content server can also refresh the test environment, but first wait for active calibre jobs to finish. A restart is useful after changing server options, library paths, authentication, or proxy-related settings. It should not be the first response to a single damaged book.
3.4 Account for Mobile Browser Limitations
Mobile browsers may hand downloads to a Files app, display a preview instead of saving, or refuse a format for which no compatible application is installed. Check the browser’s download list and the device’s Downloads folder.
On iPhone and iPad, changing from Safari to Chrome or Firefox does not provide the same engine-level comparison available on a desktop. Test the server from desktop Chrome or Firefox to determine whether the issue is specific to the mobile device.
For old or limited browsers, add /mobile to the server address to use calibre’s simplified mobile interface. If direct downloads work there, continue using the simplified view on that device or update the browser and operating system when practical.

4. Check Permissions, Security Software, and Network Routing
4.1 Verify Library File Permissions
The account running the Content server must be able to read the library directory, each book folder, and the actual format file. This is especially important when calibre runs as a Windows service, a macOS background process, or a Linux system service under a different user account.
On Windows, compare the user running calibre with the account assigned to any service or scheduled task. On macOS, review Privacy and Security permissions if the library is under a protected folder or external volume. On Linux, inspect ownership and read and execute permissions along the full library path.
Do not solve this by granting unrestricted access to everyone. Give the server’s user account only the access it needs. After correcting permissions, restart the server process and repeat the one-book test.
Success looks like this: the same book that previously failed downloads completely, and the server log no longer records permission or file-access errors.
4.2 Check Antivirus and Endpoint Protection
Firewall rules are less likely to be the main cause when you can already browse the server, but antivirus or endpoint protection can still block file responses, temporary files, or calibre worker processes. Review recent security events at the exact time of a failed click.
If a security product blocked calibre, create a narrow allow rule for the legitimate calibre executable, server process, library path, or configured port. Do not disable protection permanently. Test again immediately so you can confirm whether the rule affected the symptom.
4.3 Avoid Active Cloud-Sync Conflicts
A calibre library stored in a live cloud-synchronized folder can experience temporary locks, incomplete local files, or on-demand placeholders. Make sure the failing format is fully stored on the computer running the server and can be opened locally.
Pause synchronization briefly for a controlled test, or copy a test library to a normal local folder. If downloads work from the local test library, resolve the synchronization or file-availability issue before returning to the original location.
4.4 Diagnose Reverse Proxy URL Problems
If the Content server works through 127.0.0.1 or a local network address but its buttons fail through a domain name, the reverse proxy is the leading suspect. Browsing can appear normal even while download, reader, API, or resource URLs are rewritten incorrectly.
If calibre is published under a subpath such as /calibre, configure calibre with the matching URL prefix. The proxy must forward requests under that prefix without stripping or duplicating part of the path. The non-trailing-slash address should also redirect correctly to the trailing-slash version where required.
For a full virtual host, verify that all paths are forwarded to the local Content server. For a prefixed installation, compare the requested URL in the browser’s developer tools with the path received by the proxy and calibre. A 404 response commonly indicates a prefix or rewrite mismatch, while repeated 301 or 302 responses suggest a redirect loop.
Success looks like this: the public address downloads the same file as the direct local address, with no missing prefix, redirect loop, authentication prompt, or mixed-content warning. Once local and proxied behavior match, stop modifying the library.
5. Use Logs to Identify the Failed Request
5.1 Inspect the Browser Request
On desktop Chrome or Firefox, open Developer Tools, select the Network panel, clear the existing entries, and click the failing button once. Look for the new request and its status.
- No request appears: suspect blocked scripts, stale browser data, an extension, or a browser compatibility problem.
- 404 Not Found: verify the book format and reverse proxy URL prefix.
- 401 or 403: review authentication, session state, account permissions, and proxy handling of authorization headers.
- 500-series response: check the calibre server log for the underlying file or worker error.
- 200 response with no usable file: inspect browser blocking, transfer interruption, file size, and security software.
5.2 Enable Server and Access Logs When Needed
When running calibre-server from the command line, its server log records server information and errors. The --log option can write that output to a chosen file. The separate --access-log option records client connections and requests.
Reproduce the failure once, note the exact time, and inspect only the corresponding entries. Avoid repeatedly clicking the button because that creates extra noise. Look for permission errors, missing paths, failed worker jobs, authentication failures, and 404 requests containing an incorrect proxy prefix.
General conversion debug output and USB device-detection logs are not the right starting point for this symptom. Use conversion diagnostics only if you must create a missing format and that conversion fails. Use device-detection debugging only when a physically connected reader is not recognized, not when a browser download button fails.
6. Run a Clean Temporary Test Before Reinstalling
Reinstalling calibre rarely repairs a missing book format, browser block, unreadable library file, or incorrect proxy rule. Before reinstalling or deleting anything, build a minimal test that leaves your main library untouched.
- Create a new temporary calibre library in a normal local folder.
- Add one small, legitimate, known-good EPUB or PDF.
- Start the Content server with default-style local access.
- Open it through
127.0.0.1in updated Chrome or Firefox. - Test the direct format download and the Read button.
- Only after local success, test from another device or through the reverse proxy.
If the temporary library works, the calibre installation is capable of serving files. Compare the original library’s permissions, path, source file, plugins, and storage location. Disable optional plugins only when their behavior overlaps with the failing workflow, and change one item at a time.
If the temporary test also fails in two clean browsers, save the logs and exact error response before reinstalling. Do not delete the original library. Back it up before any repair attempt, and never treat deleting metadata.db or book folders as a routine troubleshooting step.
7. Quick Fix Checklist
- Test one known-good EPUB or PDF through the local server address
- Confirm the selected book actually contains the requested format
- Try updated desktop Chrome and Firefox
- Check blocked downloads, popups, extensions, and browser site data
- Verify the server user can read the complete library path
- Confirm the signed-in user can access the intended library
- Check mobile Downloads or Files instead of assuming nothing happened
- Try the
/mobileinterface on limited browsers - Compare direct local access with the reverse-proxy address
- Match calibre’s URL prefix to the proxy’s published subpath
- Inspect the browser request status and the server log
- Run a temporary local library test before reinstalling
8. Frequently Asked Questions
8.1 Why Does the Download Button Work for Some Books but Not Others?
The affected books may lack the selected format, contain a damaged file, or reside in folders the server account cannot read. Compare their Formats entries in calibre and open the files locally. If other books download correctly, avoid changing global server settings until you have tested the individual files.
8.2 Why Can I Browse the Server but Not Download Anything?
Browsing primarily proves that the interface and metadata requests are reachable. File actions can still fail because of browser blocking, authentication, file permissions, missing formats, proxy rewrites, or security software. Test a known-good book locally and inspect the download request’s HTTP status.
8.3 Why Does It Work Locally but Not Through My Domain?
The reverse proxy may be losing a URL prefix, redirecting requests incorrectly, or mishandling authentication. Ensure the prefix configured in calibre matches the path exposed by the proxy. Compare the local and public request URLs rather than changing the library or converting the book again.
8.4 Should I Convert the Book to Fix the Button?
Convert it only when the device or reader needs a format that is not present. Conversion will not fix browser blocking, permissions, or a broken proxy. First confirm whether an existing format downloads. If it does, the server’s basic download path is working.
8.5 Why Does the Read Button Fail While Download Works?
The web reader may need to prepare the book through a worker process, while Download can send the original file directly. Test another EPUB and review the server log for preparation errors. If the downloaded file opens normally outside the server, focus on viewer preparation and browser compatibility.
8.6 When Should I Stop Troubleshooting?
Stop changing settings as soon as the smallest relevant test succeeds. If a clean browser fixes it, leave the server alone. If correcting one format fixes one book, do not rebuild the library. If local access works but the public URL fails, work only on the proxy path. This preserves a known-good configuration and prevents unrelated changes from creating new problems.