Skip to content

“Error initializing communications with LMS”: what it means and how to fix it

Updated 19 October 2026

Quick fix

The course found your LMS, but when it asked the LMS to start a session, the LMS said no. Nothing the learner does in that session is recorded. When it happens tells you where to look:

  • When a learner comes back (resume, a retry, opening a finished course again): something started a second session. What to check.
  • For every learner, on the first launch: the LMS is refusing the course. What to check.
  • Only for some learners: look at their browser. What to try.
  • You're a learner: press Cancel, close the course and start it again from your LMS. If it comes back, tell your LMS admin.

Drop the zip into Alder (free, nothing is uploaded). Its test player shows every start call and whether it was accepted, and flags a course that starts its session twice.

This is a different message from “Unable to acquire LMS API”, which means the course couldn't find the LMS at all. If that is the one you see, go there instead.

When learners come back to the course

Many reports of this message involve a second launch. A SCORM session is meant to start once per launch: in SCORM 2004, a second start is refused with error 103, “Already Initialized”.

  1. Update Storyline 360 if the course uses “Always resume”

    In a thread on E-Learning Heroes, courses showed this message on resume in Moodle after a Storyline 360 update. Articulate staff replied that a bug causing it with “Always resume” was fixed in Storyline 360 build 3.84.31647.0. If your Storyline is older, update it, publish again and upload the new zip. Alder shows the course's resume setting on the results (TOOL-005); in Storyline it is under Home → Player → Other → Resume → On restart.

  2. Note exactly how the learner reopened it

    In Workday, one author reports the message every time a finished course was reopened to view again, but not when it was retaken; the course's log said the session had already been started. Another logged error 103 when a learner passed a Rise quiz on a second try. Neither thread has a confirmed fix, so write down the steps that cause it: the LMS admin needs them.

  3. Replay the return in Alder

    Run the course in Alder's test player, press “I’m done” partway, then “Test as a returning learner”. If the course starts its session twice, Alder flags it (RUNTIME-002). If it returns cleanly, the LMS's relaunch is the likely difference: send its log to your LMS admin or vendor. For retakes and review mode, see new attempt or review mode on relaunch.

For every learner, on the first launch

If even a brand-new learner sees it, the LMS is refusing the session for its own reason.

  • Test the same zip elsewhere. If it starts cleanly in Alder or SCORM Cloud, the package is probably fine and the cause is on the LMS side.
  • SAP SuccessFactors: SAP documents this message when an admin changes the content of an item already assigned to learners. SAP's fix is to remove the item from those learners' plans and assign it again; next time, revise the item or create a new one before changing its content.
  • Get the log for your LMS admin. Pressing OK in the message box opens the course's debug window, which shows the LMS's error number. Articulate explains how to make a Storyline course open that log on every launch.

Only for some learners

If most learners are fine, the package works. One author whose Rise courses showed the message suspected a browser extension, though they hadn't confirmed it. Ask an affected learner to try a private window or another browser; if that works, their IT team can look at the extensions installed.

Check the zip before you upload it (free)

Alder reads the zip in your browser and plays the part of the LMS, answering every call the way the SCORM rules say an LMS should. Nothing is uploaded.

  1. Drop the zip and launch it

    Open Alder, drop the zip and click “Launch the course”. Click through as a learner would, including the part that fails in your LMS.

  2. Open the technical log

    The first start call should say “The course started its session with the LMS.” A refused one says “The course tried to start its session with the LMS”, with the error number: 103 in SCORM 2004, 101 in SCORM 1.2.

    Alder's call log: Initialize returned true ('The course started its session with the LMS'), then a second Initialize returned false, marked Problem: 'The LMS rejected it: error 103 (Already Initialized)'.
    Alder's SCORM 2004 probe package, made to start its session twice. The second start is refused.
  3. Press “I’m done”

    Under “What we found”, a course that started more than once gets a card with the fix. Then try “Test as a returning learner” to replay a return.

    Alder's Worth checking card: the LMS may lose or reset what the learner did. The course started its LMS session 2 times. How to fix it: start the session once per launch (one Initialize call).
    The RUNTIME-002 card for the same session.

Alder follows the SCORM rules, not one LMS's own setup, so it can't reproduce a refusal that comes from LMS settings, like the SuccessFactors case above.

Why it happens

Storyline and Rise put the same SCORM code in every LMS publish, a file called scormdriver.js. When the course opens, it does two things in order. First it looks for the LMS's connection, the API (application programming interface: the set of calls a course uses to talk to the LMS). Then it asks the LMS to start a session, with a call named LMSInitialize in SCORM 1.2 or Initialize in SCORM 2004.

If the LMS answers “false” to that call, the driver shows this message and treats the LMS as missing for the rest of the session, so nothing more is sent. The box's OK button opens the debug window; Cancel just closes the box.

Two steps to connect, two different messagesStep one: the course looks for the LMS's connection object, the API. If it finds none, it shows Unable to acquire LMS API. Step two: the course asks the LMS to start a session, with LMSInitialize in SCORM 1.2 or Initialize in SCORM 2004. If the LMS answers false, for example because a session was already started (error 103) or already ended (error 104), the course shows Error initializing communications with LMS. Only when both steps work is progress recorded.1Find the LMS connectionLooks for the API object around itIf it fails, the course shows:“Unable to acquire LMS API”Found it2Ask the LMS to start a sessionCalls LMSInitialize (1.2) or Initialize (2004)If it fails, the course shows:“Error initializing communicationswith LMS”LMS says trueSESSION OPENProgress, score and completion are saved
Each step has its own message, so the message tells you which step failed.

The LMS's error number says why. The SCORM run-time reference lists, for SCORM 2004: 102 (the LMS couldn't start for a reason it didn't name), 103 (already started) and 104 (the session already ended). SCORM 1.2 has fewer numbers: a second start there is refused with 101, “General exception”, which is also the number in the Moodle report above.

Still not working?