Troubleshooting
The form won't take a CV
No volume is chosen. Hire never falls back to "the first volume", because on most sites that is the public images volume. Choose one under Settings → Uploads & privacy — a private one.
Every application is refused with the same message
That is the spam message, and it is the same for every check on purpose. (The rate limit is the exception: it says you've sent several applications recently.) Work down the list:
- Hand-written form? It must carry
hireStampwithcraft.hire.formTimestamp()— a form without it fails the timing check. See Templating. - Testing quickly? A submission inside three seconds of the page rendering is refused.
- Testing repeatedly? The rate limit is ten per IP per hour. Set it to
0while testing.
Emails don't arrive
- Notifications are queued by default. Make sure the queue is running —
php craft queue/runwill tell you quickly. - With no recipients set, the team email goes to the system email address. With neither, nothing
is sent and Hire logs a warning under the
hirecategory. - Every send and failure is written to the application's history. Once mail is fixed, send again
with
php craft hire/applications/resend <id>.
A job past its closing date is still listed
It isn't taking applications — closing dates are enforced when the job is read, cron or no cron.
If it still appears, check Keep closed jobs in the listing under Settings → General, which
shows closed jobs marked as closed. To close stale jobs now:
php craft hire/jobs/expire --dry-run, then without the flag.
The listing is empty
- Only open jobs are listed: enabled, past their post date, before their closing date, with openings left, and enabled for the current site.
- A job with Openings set to 1 closes when one person is moved to a hired stage.
The application counts are wrong
php craft hire/jobs/recount
Nothing changes when I edit a template
Hire uses the site's copy first only if it is at the same path under templates/hire/ — for
example templates/hire/_listing/_job.twig.
The status link says not found
The page is Pro, and is off until Let applicants check their status is on. The parameter is
hireToken, not token — Craft reserves token for previews and rejects a request carrying one it
doesn't recognise.