Troubleshooting — frequent messages
Cross-reference when users paste exact error snippets into Slack.
| Message / situation | Meaning | First response |
|---|---|---|
| Access restricted (assessments/templates) | Missing canCreateAssessments / canManageAssessmentTemplates or staff JSON deny | Verify Team → Edit access toggles or switch to primary admin account. |
| Access restricted (CSV upload) | Not Platform/Directory | Explain only operators may bulk import; offer AI wizard path. |
| INVITE_SESSION_EMAIL_MISMATCH | Accepting team invite while SSO session email differs | Full sign-out → reopen invite URL. |
/signin?verified=1 loop | Mixed cookies after invite | Clear site data for Skilladder host. |
| Question bank 403/empty operator tools | User is browse-only | Escalate Directory/Platform for mutations. |
| Pending invite expired | TTL elapsed | Resend from Team tab (privileged). |
| No Team Member Found | Org still bootstrapping | Use Add Team Member (privileged). |
| Export button missing | canExportAssessmentResults false (Staff viewer always false) | Adjust permissions / role. |
| Directory admin lacks Candidates | By design separation | Explain content-admin scope vs hiring ops directory. |
When uncertain, reproduce in staging with seeded clone of customer role mapping before answering.