Choose your language

Choose your login


Configure how long jobs are held by PaperCut NG/MF


“Help! I’m a PaperCut NG/MF Administrator and I’ve noticed that print jobs are only held for a few hours before they are deleted. Is there a way to configure how long print jobs are held for?”

How long will PaperCut hold print jobs from users?

In a PaperCut NG/MF environment, when Find-Me Printing is configured or when Hold/Release is enabled then by default print jobs will be held for 2 hours (for Education) or 4 hours (for Commercial/Professional) before being deleted. Back in 2011, this timeout period was set to 30 minutes but based on a customer survey we decided to increase the maximum age for held jobs to these values. If you would like to customize this further, we describe two different methods in this article.

When PaperCut deletes a job based on the hold/release timeout, you’ll see an entry in the App log (in the admin interface, under Logs → Application Log). For example:
Cancelling print job “Microsoft Outlook - Memo Style” printed by “username” from station address because it was not released from the hold/release queue within 30 minutes

A few words of caution…

While you can increase the amount of time that PaperCut will hold a print job this will have an impact on system resources. The PaperCut server uses one thread to track each job, so more held jobs will result in an increased load on the server. When there are thousands of held jobs, you should know it will probably increase the amount of time that it takes the PaperCut services to get running after a restart. Any more than 1500 held jobs at one time should be considered that a red flag and we will ask that you revisit these settings. Increasing the hold time will cause PaperCut to use additional server resources so you should only increase this setting incrementally and monitor the server’s resource usage.

To see for yourself how many jobs your PaperCut server is holding, log into the PaperCut server as Admin → go to the DashboardSystem Status → look at the value next to Hold/release jobs.

Important note: Changes made to the maximum age of held jobs setting applies to new print jobs only, not existing ones. Previously held jobs will retain old setting.

Increase the maximum age of all held jobs

This is the easiest way to increase the amount of time that jobs are held for. (This has the same effect as modifying the config key release-station.job-expiry-mins prior to version 8 for you PaperCut veterans out there.)


  1. Log into the interface of your PaperCut server as admin.
  2. Navigate to OptionsGeneralHold/Release Queues.
  3. Beneath Delete held jobs if not released after set a value between 5–9999 minutes (about one week).
  4. Increase this setting incrementally and monitor your server’s CPU/Memory usage.

Customizing the maximum age of held jobs with Print Scripts

Beginning with PaperCut version 15.1 you can change the timeout period for specific print jobs, users, groups, or printers using Print Scripts.

To see how this works, have a look at our Print Script API Reference and read about the method actions.job.setHoldReleaseTimeout(timeoutMins). This will set the timeout in minutes for a hold/release job and overrides the system setting. It is even possible to set this higher than the limit of 9999 minutes (for example 20160, which would be two weeks) but that doesn’t mean this is a good idea. You should only increase these settings incrementally, monitor system resources, and be prepared to roll back the changes if necessary. We can’t think of any reasons why someone would want to hold a print job for that amount of time, but let us know in the comments if you think otherwise.

We also have a Print Script recipe to get you started. While logged into your PaperCut server as admin, open Printers, select your printer, click on the Scripting tab, choose Import Recipe, and select Adjust Hold/Release Queue timeout for selected group. Or you can use this extremely short one…

// Forgetful and prone to distractions,
// For a fortnight the print job must stow.
function printJobHook(inputs, actions) {

Still have questions?

Let us know! We love chatting about what’s going on under the hood. Feel free to leave a comment below or visit our Support Portal for further assistance.

Categories: How-to Articles , Print Queues , Releasing Print Jobs

Keywords: abandon , abandoned , delete , disappear , expire , expiration , gone , remove , timeout , hold time , hold/release , hold and release , secure print release , release time


Last updated June 13, 2024