Safari = Application('Safari'); Safari.includeStandardAdditions = true; SystemEvents = Application('System Events') SystemEvents.includeStandardAdditions = true; activeAppName = SystemEvents.processes.whose({frontmost:true}).at(0).name(); activeApp = Application(activeAppName); function run(){ frontWindow = Safari.windows.at(0); SystemEvents.activate() chooseName = SystemEvents.chooseFromList( frontWindow.tabs().map(function(t){return t.name()}), { withTitle: 'Safari Tabs', emptySelectionAllowed: false } ) tabName = chooseName.length ? chooseName[0] : frontWindow.tabs.whose({visible: true}).at(0).name(); while (!activeApp.frontmost()){ activeApp.activate(); } return frontWindow.tabs.whose({name: tabName}).at(0).url() }