How to uninstall RetainPDF on Mac
RetainPDF translates PDFs while keeping their layout, formulas and structure. It bundles a Python runtime and runs its own local job service, so the app keeps your translated documents and a credentials file on this Mac. According to the project's public desktop source code, which this guide read but did not check against a real job on the test Mac, they live under ~/Library/Application Support/retain-pdf-desktop/data: finished jobs in jobs, database backups in backups/db, and saved credentials in secrets/credentials.json. Copy any translated PDF you still need out of the app before you remove it, and treat that data folder as private because it can hold a model provider's API key. This guide covers the release build the project publishes on GitHub; it is not a store download.
Quit and remove the app
- Press Command + Q inside RetainPDF. The background services it starts (
rust_apiandretain-jobsd) are children of the app and exit with it. - Open Finder, go to Applications, and drag RetainPDF to the Trash.
The app registered no login item or launch agent in the test.
Where the data lives
Press Shift + Command + G in Finder to open each path. Skip any path that is not present on your Mac.
| Location | What it holds | What to do |
|---|---|---|
~/Library/Application Support/retain-pdf-desktop |
The app's data folder, named after its npm package. Per the project's source it holds desktop-config.json, the data folder with your jobs, backups and credentials, and the caches below. |
Copy what you need first, then remove. Mole lists the folder for review and does not select it. |
~/Library/Application Support/retain-pdf-desktop/Cache, Code Cache, GPUCache, DawnGraphiteCache, DawnWebGPUCache, blob_storage, logs |
Chromium caches and the app's logs | Remove. Mole selects these seven by default and leaves the rest of the folder alone. |
~/Library/Preferences/com.wxyhgk.retainpdf.plist |
Preferences | Remove. Selected by default. |
~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.wxyhgk.retainpdf.sfl4 |
The app's recent-documents list | Remove. Selected by default. |
~/.retainpdf |
Settings shared with the project's retainpdf command line tool, which the app reads through its bundled copy. The backend.data_dir setting there can move the data folder somewhere else. |
Mole does not list it and the test did not examine it. If you have one, open it before you remove anything, because your jobs may live at the path it names. |
Temporary caches for com.wxyhgk.retainpdf also sit in your per-user cache folder (getconf DARWIN_USER_CACHE_DIR prints it), and Mole removes them with the app.
Check the result
pgrep -il retain
ls -d /Applications/RetainPDF.app 2>/dev/null
ls -ld "$HOME/Library/Application Support/retain-pdf-desktop" "$HOME/Library/Preferences/com.wxyhgk.retainpdf.plist" "$HOME/.retainpdf"
- No output from
pgrepmeans no matching process was found. A printed line such asretain-jobsdorrust_apimeans a background service is still running, so quit the app again before you delete anything. - No output from the second command means the app is gone from Applications.
- A path printed by the last
lsstill exists. Ifretain-pdf-desktopis still there and you chose to keep your jobs, that is expected.No such file or directorymeans the path is gone, and it is also the normal answer for~/.retainpdfon a Mac that never had it.
Account and API keys
Removing the app does not revoke a model provider's API key. If you typed a key into RetainPDF and will not use it again, revoke or rotate it with the provider.
What Mole lists
Mole selects the app, the preferences file, the recent-documents list, the seven Chromium cache and log folders inside retain-pdf-desktop and the temporary caches. It lists ~/Library/Application Support/retain-pdf-desktop itself for review without selecting it. Mole does not list ~/.retainpdf, so it stays on disk unless you remove it yourself.
These defaults assume “Remove data and settings with apps” in General › Cleaning is off. With it on, Mole also ticks the retain-pdf-desktop folder with your jobs and saved credentials in it, so copy what you need before you turn the setting on.
What this test covered
On October 18, 2026, RetainPDF 4.2.6, the release build from the project's GitHub page, was installed, launched and then uninstalled with Mole. No API key was entered and no PDF was translated. Mole listed 11 rows before the removal, and all of them were moved to the Trash with the app, including the retain-pdf-desktop folder once the review row was selected. Status showed one RetainPDF row with rust_api, retain-jobsd and the bundled Python folded in, and those processes exited when the app was removed. The app carries only Electron's default updater framework and no update feed, so Mole's update page showed no update channel. Mole's startup items showed nothing for the app before or after, and no launch agent was left. The contents of the data folder were not opened, so the paths inside it come from the project's source rather than from a real job. Homebrew has no cask for this app.
