LMS Integration · Troubleshooting
Troubleshooting XYZ Homework in your LMS
Look up the exact message you see, what causes it, and — the part that usually matters most — who can fix it. Most launch problems are one of two things: the assignment opening inside an embedded frame, or a setup step that was never finished.
The single most common fix: open the assignment in a new tab instead of inside your LMS’s frame. Browsers now block the sign-in cookie inside embedded frames by design, and every LMS has a setting for this:
Canvas — “Load This Tool In A New Tab” on the assignment (instructors can set this).
Brightspace — “Open as External Resource” on the link. Per link, so older links keep the old behaviour.
Moodle — Launch container → New window, on the tool or the activity.
Blackboard — “Launch in New Window” on the placement. Administrator only.
“Allow third-party cookies” is not a fix. Safari has no per-site setting for it, and other browsers are removing the option. If you have been told to try that, the new-tab setting above is what actually works.
Start here (any LMS)
The assignment won’t load, is blank, or spins
Hard-refresh the page: Ctrl+Shift+R (Windows) or Cmd+Shift+R (Mac).
Open it in a new tab. Many browsers block logins inside an embedded frame. Use your LMS’s “open in new tab/window” option for the link.
Disable any pop-up blocker for xyzhomework.com. When the embedded frame is blocked, XYZ Homework tries to open your assignment in a new window — a pop-up blocker stops that, and you may see Popup blocked, click to open in a new window. Click it.
Why “allow cookies” is not the fix. Browsers now block the sign-in cookie inside an embedded frame by design, and Safari has no per-site setting to allow it — so that advice cannot work there. Opening in a new tab is the dependable fix, and your LMS has a setting for it — see the your LMS section below, or the full error-message index. Check how far that setting reaches: on Canvas it is set per assignment and on Brightspace per link, so items created before you changed it keep the old behaviour and need fixing individually. On Moodle and Blackboard it can be set once for the whole tool.
I’m asked to sign in every time, or it won’t connect
Always launch from inside your your LMS course — not a saved bookmark of the XYZ page.
The very first launch asks the instructor to sign in once to link the courses. If it keeps asking, open it in a new tab — embedded frames are where browsers block the sign-in cookie, and being asked repeatedly is the classic symptom.
Grades aren’t showing up in your LMS
Grades can take a few minutes to appear in your LMS after a student finishes. If a grade or grade column still doesn’t show, the connection may need a re-check — email support@xyzhomework.com and we’ll verify it and re-send the grades.
Students don’t see a “Redeem LatePass” button
LatePasses work inside your LMS: the Redeem LatePass button appears on the assignment’s opening page under the due date (and in the assignment’s More menu) whenever a pass can be used. It is hidden when the student has 0 LatePasses.
Why a new student (or your LMS’s test student) has 0: students join the XYZ roster the first time they launch from your LMS, and receive the number in Course Settings → Additional Options → Auto-assign LatePasses on course enroll (default 0). Set that before the term starts; use Roster → Manage LatePasses for anyone who already launched.
Also check: the assessment allows LatePasses and has a due date before the course end date; the student hasn’t opened it in Practice mode (which blocks LatePass use); and your LMS has no “available until” lock date earlier than the LatePass extension. A LatePass changes the due date in XYZ Homework only — any your LMS late-submission policy still applies.
Error-message index
Search this page for the message you see (Ctrl/Cmd+F).
Each entry says what causes it and who can fix it — student, instructor, or your
LMS administrator — because for several of these the person seeing the error is not the
person who can resolve it.
Messages from XYZ Homework
Error: State not found
Who fixes it: the student or instructor can work around it; an LMS admin can fix it for everyone.
What it means: the browser did not send back the sign-in cookie XYZ Homework set a moment earlier. Almost always this is the assignment opening inside the LMS’s embedded frame, where browsers now block that cookie by design. It can also appear if the page sat unused for more than an hour, or was reopened from history rather than launched from the course.
Fix: open the assignment in a new tab. Your LMS has a setting that does this for every link — Canvas: “Load This Tool In A New Tab” on the assignment; Brightspace: “Open as External Resource” on the link; Moodle: Launch container → New window; Blackboard: “Launch in New Window” on the placement (admin only).
The on-screen text currently suggests enabling third-party cookies. That will not work in Safari, which has no per-site setting for it. Use the new-tab setting instead.
Error: Could not find registration details
Who fixes it: your LMS administrator, together with XYZ Homework support. An instructor cannot resolve this.
What it means: your LMS launched correctly, but XYZ Homework has no record of your site. Either the setup was done manually and we were never told about it, or the Platform ID we hold does not match the one your LMS is sending.
Fix: we match your site by its Platform ID (issuer) as an exact string. https://lms.school.edu, https://lms.school.edu/ (trailing slash) and http://lms.school.edu are three different sites to the match. Copy the Platform ID and Client ID from your tool’s configuration details — copy, do not retype — and send both to support@xyzhomework.com.
Manual setup can never finish on its own (Canvas is the one exception). Your LMS generates the Client ID itself, so until you send it to us there is nothing on our side to match. Dynamic Registration avoids this entirely and needs nothing sent back — see your LMS’s setup page.
Error: Could not find issuer · Error: Could not find login hint
Who fixes it: whoever opened the link.
What it means: the XYZ Homework launch address was opened directly — from a bookmark, a pasted URL, or a browser’s history — instead of being started by your LMS. The launch carries information that only the LMS can supply.
Fix: always start from the assignment link inside your course. Bookmarking the XYZ page itself will not work.
Popup blocked, click to open in a new window
Who fixes it: the person seeing it.
What it means: the embedded frame could not sign you in, so XYZ Homework tried to open your assignment in a new window — and the browser’s pop-up blocker stopped it.
Fix: click the message; it opens the window directly. To stop it recurring, allow pop-ups for xyzhomework.com, and ask for the new-tab setting described under State not found so the frame is never used in the first place.
One more step to open your assignment — “your browser is still blocking the cookie”
Who fixes it: the person seeing it can continue; the permanent fix is the LMS setting.
What it means: the same blocked-cookie situation as State not found, caught deliberately so you get a button instead of a failure.
Fix: click through to continue now. If you see this on every assignment, ask for the new-tab setting for your LMS — you should not have to click this each time.
Course link not established yet. Notify your instructor they need to click this assignment to set it up.
Who fixes it: the instructor. Students cannot resolve this and do not need to do anything.
What it means: a student reached an assignment before the instructor completed the one-time pairing between the LMS course and the XYZ Homework course.
Fix: the instructor opens any one XYZ Homework link in that course and completes the one-time sign-in. That activates every link in the course at once.
Error: course link already established · Invalid course to associate
Who fixes it: the instructor, sometimes with support.
What it means: this LMS course is already paired with an XYZ Homework course, and something is trying to pair it with a different one — commonly after a course copy, or when two instructors set the same course up.
Fix: if the existing pairing is correct, simply launch the assignment normally. If it points at the wrong XYZ course, email support@xyzhomework.com with the course name — do not create a second link.
Linked assessment appears to have been deleted
Who fixes it: the instructor.
What it means: the LMS link points at an XYZ Homework assignment that no longer exists.
Fix: remove that link and add the assignment again through the content picker. Other links in the course are unaffected.
Unable to find deployment · Missing deployment_id
Who fixes it: your LMS administrator.
What it means: the tool is registered, but this course is not covered by an enabled deployment — most often on Brightspace, where a deployment must be shared to org units explicitly.
Fix: the admin confirms the registration and its deployment are enabled, and that the deployment is shared to this course (Brightspace: Add Org Units).
Failed to fetch public key set · Unable to find public key
Who fixes it: your LMS administrator, with XYZ Homework support.
What it means: XYZ Homework could not retrieve your LMS’s public keys, so it cannot verify that the launch genuinely came from you. Usually the keyset address is wrong or unreachable from outside your network.
Fix: confirm the keyset URL in the tool configuration and that it is reachable from the public internet. Self-hosted LMSs behind a firewall are the common case.
Nonce was already consumed
Who fixes it: the person seeing it.
What it means: the same launch was submitted twice — usually a page refresh, or the browser’s Back button returning to a launch that already completed. Each launch may be used once, which is a security requirement.
Fix: go back to your course and open the assignment link again rather than refreshing.
This LMS launch does not allow creating grade columns
Who fixes it: your LMS administrator.
What it means: the launch arrived without permission to manage the gradebook, so XYZ Homework cannot create or update a column. This is a per-tool setting in every LMS and it is off by default in some.
Fix: Canvas: Developer Key state ON with the grade scopes. Moodle: Assignment and Grade Services → “Use this service for grade sync and column management”. Brightspace: Assignment and Grade Services enabled on the registration and the deployment. Blackboard: “Allow grade service access” = Yes.
Messages from your LMS about XYZ Homework
Moodle: The tool returned the following error message: …
This is Moodle showing you our message. Look the quoted text up in the section above — that entry is the real answer.
Moodle: Misconfigured tool. Please ask your Moodle administrator to fix the configuration of the tool.
Who fixes it: your Moodle administrator.
What it means: Moodle’s own check failed before the launch was attempted — typically a blank Initiate login URL (Moodle does not require it at save time, so it fails only at launch) or the wrong LTI version.
Fix: compare the tool against the value table on the Moodle setup page. The most common cause is confusing Tool URL (…/lti/launch.php) with Initiate login URL (…/lti/login.php).
Moodle: Moodle was unable to communicate with the … system
Who fixes it: your Moodle administrator.
What it means: your Moodle server could not reach xyzhomework.com — a proxy, firewall or TLS problem on the server, not in the browser.
Canvas: Client not authorized in requested context
Who fixes it: your Canvas administrator.
What it means: the Developer Key is off, or the app is not installed in this account or sub-account.
Fix: Admin → Developer Keys, set State to ON; then confirm the app is installed for the account the course belongs to.
Brightspace: Invalid Message Hint · Message Hint Expired (in the System Log)
Who fixes it: usually nobody — relaunch.
What it means: the launch took too long between Brightspace starting it and XYZ Homework completing it, so Brightspace expired it. Commonly a side effect of the blocked-frame retry loop.
Fix: open the link again. If it recurs, apply Open as External Resource (see State not found) — it removes the retry loop that causes the delay.
Still stuck?
Email support@xyzhomework.com and include: your LMS and version, the page address you launched from, the exact error text, a screenshot, which browser, and whether opening in a new tab changed anything. Those six things are what let us reproduce it on the first try instead of the third.
By LMS
Canvas
I can’t find XYZ Homework when adding an External Tool
The app install isn’t finished. If your admin used Dynamic Registration, have them confirm under Admin → Apps → Manage that XYZ Homework is enabled with a placement. If they used the Developer Key path, they add it under Settings → Apps → + App → By Client ID. Until that’s done, instructors won’t see XYZ Homework in the tool list.
The tool opens then goes blank or loops back to a login
In the assignment, turn on Load This Tool In A New Tab, then Save & Publish. Canvas embeds tools in a frame by default, which can block the sign-in.
If it still fails, open the tool in a new tab — browsers increasingly block the sign-in cookie inside an embedded frame, and a new tab is the dependable fix.
Grades still aren’t passing back to the Canvas gradebook
Confirm the Developer Key State is ON (Admin → Developer Keys). A key left in the OFF state stops grade passback.
Make sure each XYZ assignment was added as its own External Tool link with points set, not pasted as a plain URL.
If a column never appears, the Client ID may not be registered with us yet — have your admin send it to support@xyzhomework.com so we can add it on our end.
I want Canvas due dates to apply in XYZ Homework
By default XYZ Homework enforces the due dates set in XYZ. There is a course setting that lets Canvas push its due dates into XYZ instead — enable it in the XYZ course settings if you’d prefer to manage dates from Canvas.
A student redeemed a LatePass, but Canvas still locks the assignment or marks it late
A LatePass extends the due date inside XYZ Homework only. Two Canvas assignment settings still apply:
Available until: if the Canvas assignment has an “Available until” date, Canvas locks the launch at that time regardless of the LatePass. Leave it blank, or set it later than the longest LatePass extension.
Late policies: Canvas records the work as submitted after its own due date, so an automatic late-deduction policy is applied on top of the LatePass. The policy is course-wide and cannot exclude individual assignments: turn it off, clear the late status on the affected submission in the Canvas gradebook, or move the Canvas due date to match the extension.
If students don’t see a LatePass button at all, see “Students don’t see a Redeem LatePass button” in the “any LMS” section above.
I imported the cartridge but the links don’t work yet
Open any one imported link once and complete the one-time instructor sign-in — that associates the Canvas course with your XYZ course and activates every imported link at once.
Added new XYZ assessments after importing? They don’t sync automatically — repeat the Export → Import step to bring the new links over.
Blackboard
XYZ Homework isn’t in the Content Market / Institution Tools
The tool isn’t fully registered yet. Your Blackboard admin must finish Register LTI 1.3/Advantage Tool, set Tool Status = Approved, and add a Deep Linking content tool placement. Only approved tools show under Institution Tools.
We don’t have a Client ID
Blackboard uses a Client‑ID model and the ID comes from us. Email support@xyzhomework.com for your institution’s XYZ Homework Client ID, then enter it when registering the tool.
The tool opens then goes blank or loops to a login
This one is set by your Blackboard administrator, not by instructors. It lives on the placement: Administrator Panel → Integrations → LTI Tool Providers → XYZ Homework → Manage Placements, edit the Deep Linking placement, tick Launch in New Window, and Submit.
Links created from that placement then open in a new window; there is no per-item override for instructors, which is why this has to go through your admin. Also allow pop-ups for xyzhomework.com. Both Blackboard Ultra and Original are supported.
Grades aren’t passing back
On the registered tool, Allow grade service access must be turned on (your admin sets this). Adding each XYZ assignment as its own deep-linked item is the most reliable way to get grades back; if a column is missing, also check the tool registration and the XYZ-side setup.
Moodle
I set the tool up manually and the launch errors out
Two things are usually missing, and the second one is invisible from inside Moodle:
- Initiate login URL must be
https://www.xyzhomework.com/imathas/lti/login.php. Moodle flags this field but doesn’t fill it in — if it’s blank the launch can never start. (It is not the same as the Tool URL, which is…/lti/launch.php.) - We have to register your Moodle on the XYZ Homework side. Moodle generates the Client ID itself — it isn’t issued by us, and it’s greyed out on your form for that reason. Until you send it to us along with the rest of the tool’s Details, XYZ Homework has no record of your site and every launch fails.
Open Manage tools, click View configuration details on the XYZ Homework card, and email the Platform ID and Client ID to support@xyzhomework.com. Those two are all we need — we derive the rest. We’ll add them and confirm.
Or skip all of it: delete the manual tool and use Dynamic Registration instead — paste https://www.xyzhomework.com/imathas/lti/dynreg.php into the Tool URL box in Manage tools and click Add LTI Advantage. It sets every field, service and privacy option correctly and needs nothing sent back to us.
We sent our details but launches still fail
We match your site by its Platform ID (issuer) as an exact string. https://moodle.school.edu,
https://moodle.school.edu/ (trailing slash) and http://moodle.school.edu are three
different sites as far as the match is concerned. Send the Platform ID exactly as Moodle shows it in the tool’s
Details panel — copy and paste it rather than retyping — and tell us if your Moodle’s address
has changed since the tool was registered.
XYZ Homework is stuck on “Pending” in Manage tools
Dynamic Registration created the tool but it still needs approval. Your Moodle admin clicks the checkmark next to XYZ Homework under Manage tools to set it Active.
XYZ Homework isn’t in the activity chooser
From your course page open More → LTI External tools and turn on Show in activity chooser for XYZ Homework. If it isn’t listed there either, the site-wide tool hasn’t been set up yet — use the send-to-administrator box above to email your Moodle admin everything they need.
There’s no “Select content” button / I can’t pick an assignment
Make sure the tool is Active (not Pending) and that you added it as External tool → XYZ Homework. Select content is what opens XYZ Homework to deep-link a specific assignment.
The tool opens blank or keeps asking me to sign in
Set the Launch container to New window. Either once for everyone — Site administration → Plugins → Activity modules → External tool → Manage tools, edit XYZ Homework, Show more…, Launch container — or per activity, by editing the activity and using the same Show more… setting.
Do this right after setup. Dynamic Registration configures the tool to launch embedded, without blocks, so a brand-new correctly-registered tool still lands inside the frame until you change this. Moodle itself warns that browsers may block the new window — so also allow pop-ups for xyzhomework.com.
The first launch asks the instructor to sign in once to link the courses.
Grades aren’t syncing to the Moodle gradebook
If the tool was set up manually, Assignment and Grade Services must be set to “Use this service for grade sync and column management.” Dynamic Registration sets this automatically. Add each assignment as its own activity.
Brightspace (D2L)
XYZ Homework is labeled “XYZ Homework (Disabled)”
Do not register it again. Your Brightspace admin should select the existing registration and click Enable, then confirm that its deployment and Deep Linking Quicklink are also enabled.
XYZ Homework isn’t under External Learning Tools
Your Brightspace admin should confirm that the existing registration and deployment are enabled, the deployment is shared to your course through Add Org Units, and an enabled Deep Linking Quicklink points to XYZ Homework. Do not create a duplicate registration.
Registration didn’t complete with “Dynamic”
Do not guess at the Standard-registration values or use a generic login URL. Email support@xyzhomework.com and we’ll coordinate the Brightspace and XYZ Homework setup with you.
The tool opens blank or loops to a login
Set the link to Open as External Resource. In Content, open the XYZ Homework link’s menu and edit its properties (Edit Properties In-place in the classic experience, or the link settings in the new one), then tick Open as External Resource. The link then opens at the top level instead of inside Brightspace’s frame, which is what lets the sign-in complete.
This is a per-link setting. Links added before you changed it keep the old behaviour, so re-check older links — this is the most common reason “we fixed it” only fixes some assignments. Also allow pop-ups for xyzhomework.com.
New links that XYZ Homework creates through the content picker now ask Brightspace to open in a new window automatically, but Brightspace decides whether to honour it — the per-link setting above is what you can rely on.
Where are my gradebook columns?
Columns normally appear when assignment links are inserted. If one is missing, launch the assignment once from Brightspace; XYZ Homework will create or rebind it through Assignment and Grade Services. If it still does not appear, ask your admin to confirm that the deployment is enabled, shared to your course, and has that service enabled.
Grades aren’t passing back
On the Deployment, confirm Assignment and Grade Services is enabled and the deployment is shared to the course. Add each assignment as its own link and launch it from Brightspace at least once. Name is required for learner provisioning; Email is optional.