applescript – Can’t use “open location” when it’s part of a longer script

The following script works fine to open a URL in my default browser:

open location ""

However, I’ve got an existing script to grab a URL from my Terminal window to open it in my browser. When I use this script, I get the error “Expected end of line but found identifier” and the variable for my URL was highlighted:

use framework "Foundation"

tell application "Terminal"
    set windowContents to the contents of the front window
end tell
set windowContents to current application's class "NSString"'s stringWithString:windowContents
set fidoRegexPattern to "<PATTERN>"
set fidoRegex to current application's class "NSRegularExpression"'s regularExpressionWithPattern:(fidoRegexPattern) options:(0) |error|:(missing value)
set matchRanges to (fidoRegex's matchesInString:(windowContents) options:(0) range:({0, windowContents's |length|()}))'s valueForKey:("range")

set urlStrings to current application's class "NSMutableArray"'s new()
repeat with thisRange in matchRanges
    tell urlStrings to addObject:(windowContents's substringWithRange:(thisRange))
end repeat
-- return urlStrings as list
set urlList to urlStrings as list
set fidoUrl to the last item of urlList
open location fidoUrl
return fidoUrl

Even if I try swapping out fidoUrl for a URL string literal, I’ll get the same error, except it’ll say that it found " instead of end of line.

Everything else about the script looks fine. If I take out the open location line and look at the return line’s results, it gives me the URL I’m expecting.

Googling around seems to indicate that I might get this error if there’s an issue with the script itself, but I’m not seeing anything.