User Tools

Site Tools


This is a list of bugs in Twine 1.4.2. Some of these may be carryovers from Twine 1.4.1, and some may be newly introduced. All of these will be fixed in a future release.

Image syntax doesn't work with external URLs

Due to a bug, the image syntax in 1.4.2 only works with imported image resources - external URLs will silently fail to load.


To fix this, simply install this repair code in a script passage:

    Wikifier.imageFormatter.importedImage = function(img, passageName) {
        var imgPassages, imgname;
        // Try to parse it as a variable
        try {
            imgname = internalEval(Wikifier.parse(passageName));
        catch(e) {
        if (!imgname) {
            imgname = passageName;
        // Base64 passage transclusion
        imgPassages = tale.lookup("tags", "Twine.image");
        for (j = 0; j < imgPassages.length; j++) {
            if (imgPassages[j].title == imgname) {
                img.src = imgPassages[j].text;
        img.src = imgname;

No History.prototype.display warning

A warning should be displayed on startup if a script passage contains code which replaces History.prototype.display with an older version that doesn't support the correct number of arguments. However, due to a bug, this won't ever be displayed. (For what it's worth, few such scripts are known to exist anyway, so it may be an overcautious warning as is.)

Missing 'y' in warning message

The “got itself in a mess” message incorrectly slices softErrorMessage, causing it to lose the “Y” in “You”.

If you use a macro that creates internal links, such as Leon's custom «replace» macro, then clicking such a link will alter the ID of any previous .passage elements named “undefined” (case-sensitive) - adding a timestamp, which should normally only occur when navigating back to that passage two or more times in a Jonah story.

If you highlight a link with separate link text and passage title (such as [[link text|passage]]) then press control-L, a passage named “link text|passage” is created, instead of just “passage”.

<<remember>> variables accessible across stories

Due to a naming bug, variables saved via «remember» are unwittingly shared over all Twine stories accessed from the same website (as in, the base hostname, like and played in that particular browser - if a remembered variable name in one story matches that of another story, then one will overwrite the other if both are played.

'Cancel' button in Create passages dialog

In the “create passages” prompt given when you close a passage containing red links, the 'cancel' button behaves identically to the 'no' button - both dismiss the dialog and close the passage.

Can't import from HTML files with uppercased tag names

If, for instance, a HTML file was saved from IE, its tags become uppercased. This precludes Twine from importing the HTML via Import Compiled HTML.

Stories stop working if saved from IE

Saving HTML from IE causes line breaks to be inserted, especially in the storeArea. This can break custom scripts.

innerText vs textContent

Twine refers to the innerText property to read code from storeArea passage elements, when it ought to use textContent. This causes e.g. multiple spaces in passages to be truncated.

The syntax highlighter incorrectly displays link arguments to «choice» macros, whose text contains apostrophes or quote marks, as incorrect.

The bookmark link has proved to be a massive perf drain when a story uses JS objects in variables. It should really only be computed when the player actually clicks the link.

visited() error checking

It has been suggested that visited() should throw an error if the passage name given to it does not exist in the story.

twine1/twine_1.4.2_bugs.txt · Last modified: 2017/10/09 20:39 (external edit)