unforswearing/applescript: a personal AppleScript snippet library, archived by its author
Applescript applets, snippets, resources, and links
At a glance
- What is it?
- This repository is a collection of AppleScript applets, snippets and resource links organised into sixteen folders, from Application Services to Time and Date, with links to external libraries and tutorials. The author announced in August 2026 that he has moved away from AppleScript, that some scripts may not work on recent macOS versions, and that the repository may be archived in the near future.
- Who is it for?
- This repository suits someone who writes AppleScript occasionally and wants a working example of how a particular automation is put together, because the folders are organised by task and each script is small enough to read. It does not suit a production dependency, since the author states plainly that some scripts may not work on recent macOS versions and that the repository may be archived.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 78 days ago.
- What is it written in?
- Mainly AppleScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 24, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The author has deprecated it, and says so first
The very first thing in the README is a notice dated Aug 7, 2026, and it changes how the whole repository should be read.
I have moved away from using AppleScript and haven't had time to update the code in this repository. Some of these scripts may not work with more recent versions of MacOS, however most of these snippets are basic enough that you should not run into many issues. This repository may be archived in the near future.
So this is a personal collection that its author is stepping away from, and the framing is candid about it. There is no claim that the code is maintained, and the phrase most of these snippets are basic enough is an assurance about scope rather than about correctness.
The second paragraph gives the other half of the picture. This repository is a collection of Applescript snippets that can be used individually or part of a larger project, and many of these snippets were written as I was learning to use Applescript and may not represent the best method of undertaking a particular task.
That last clause matters more than it first appears. These are not patterns to copy. They are working notes from someone learning the language, and the author is saying so. A script here is evidence that an approach worked once on an old macOS, not a recommendation.
The primary language is AppleScript, the default branch is master, the last push was on 2026-08-07, and there are no GitHub releases. The licence field in the repository metadata is reported as custom that GitHub cannot classify, with a LICENSE file at the root.
Fourteen folders, organised by the task rather than by the technique
The index in the README is a list of script categories, and each one is a directory in the repository root.
- Application Services - Battery Monitor - Display Settings - File and Folder Actions - Location Helper Scripts - Markdown Tools - Notational Velocity - Pandoc and Textutils - Reminders App - Snippets - Sound Scripts - Temperature Conversion - Terminal - Time and Date
That is fourteen named categories in the visible list, plus the Snippets folder and the resources at the root, and the top level directory listing of the repository matches them: Application Services/, Battery Monitor/, Display Settings/, File and Folder Actions/, Location Helper Scripts/, Markdown Tools/, Notational Velocity/, Pandoc and Textutils/, Reminders App/, Snippets/, Sound Scripts/, Temperature Conversion/, Terminal/ and Time and Date/.
The organising principle is worth noticing. Most of these categories are named after an application or a device: the Reminders App, the Battery Monitor, Display Settings, Sound Scripts, Terminal. A few are named after a workflow or a tool: Markdown Tools, Pandoc and Textutils, Notational Velocity.
So the taxonomy is what the script does for you rather than what language feature it demonstrates. That is the opposite of a language tutorial's organisation, and it is the right choice for a snippet collection. If you want to know how to manipulate the Reminders application, you open one folder and read what is in it, rather than guessing which of a dozen technique-named folders might hold it.
The Terminal and Pandoc folders are the two that lean hardest on external tools, since both rely on shelling out. The Location Helper Scripts folder depends on a third party utility for core location, and the README links that utility as a free tool for developing scripts.
There is also a Snippets folder, which is the catch-all for the small ones, and the README says the snippets can be used individually or as part of a larger project. So the repository is two things at once: a set of complete applets per category, and a loose collection of single-purpose snippets.
The links section is the more durable half of the repository
A large part of the README is not about the scripts in this repository at all, but about external tools, libraries and tutorials. That is worth noting, because for a repository that may be archived, the links are the part that keeps working.
The dependencies section covers the things the scripts actually call. Pandoc and Textutil for document conversion from the command line. Caffeine App for preventing a monitor from sleeping, although the original Caffeine App is no longer available and the README lists several other applications that achieve the same goal, including KeepingYouAwake and Amphetamine. And GoogleCL, which the Youtube-Post script required, with the note that GoogleCL is sadly defunct and that any associated scripts remain for posterity.
The Resources section then lists tools for developing scripts, split into free and paid. Location Helper for using core location in AppleScripts, Twitter Scripter for interacting with Twitter via AppleScript, and Platypus for packaging AppleScripts with other scripts into native MacOS applications. On the paid side, CursorCoordinates, Dialog Maker and Script Debugger, which is described as an integrated development environment for AppleScript.
The tutorials section is substantial. A free ebook covering the foundations of AppleScript, published in 2014. The Introduction to the AppleScript Language Guide from Apple's own archive. MacOSXAutomation written by Sal Soghoian, the former Apple product manager for automation technologies. The MacScripter Forums and the MacRumors Mac Programming Forum, with the advice that searching for Applescript on the latter provides useful results even though the forum is not explicitly AppleScript related. And a thorough explanation of do shell script in AppleScript from Apple's technical notes.
The one for JavaScript users deserves a note. The JavaScript for Automation Cookbook is recommended, because JavaScript was added as a MacOS automation tool in version 10.10, and if you are familiar with JavaScript or would prefer to learn it, that cookbook is a good resource.
That is a real signal about where the ecosystem went. AppleScript's own successor on macOS is JavaScript for Automation, and the author points you at it rather than at AppleScript documentation.
The sleep prevention scripts show the do shell script pattern in practice
One of the more instructive details in the README is the note on how to run pmset noidle from AppleScript, and it comes with a specific caveat.
The README lists pmset noidle as the alternative to installing Caffeine, and then says this command must be run as do shell script "/usr/bin/pmset noidle > /dev/null 2>&1 &" to prevent the script from waiting for the shell command to complete.
do shell script "/usr/bin/pmset noidle > /dev/null 2>&1 &"The ampersand and the output redirection are doing the work. Without them, do shell script waits for the shell command to complete, and since pmset noidle holds the assertion until it is killed, the AppleScript would hang there forever. With the background ampersand and the redirection to /dev/null, the shell returns immediately and the script continues.
That is a specific and reusable piece of AppleScript knowledge, and it is the kind of detail that a language reference would not give you and that a snippet collection can.
The same section also points at the built-in caffeinate command for macOS 10.8 and later, with the caveat that it may be broken after Yosemite (10.10), and notes that both caffeinate and pmset noidle can be run through the do shell script command.
So there are three routes documented for the same problem, in descending order of preference: the built-in caffeinate command, the pmset noidle shell command, or an extra menu bar application. And the README is honest that the middle route is the one that needs the escaping treatment, and that the built-in one has a known breakage in a specific macOS release.
That combination, an old tool with a workaround written down, is characteristic of the repository as a whole.
Where this repository is the wrong tool
The first wrong-tool case is a production dependency. The author says some scripts may not work with more recent versions of MacOS and that the repository may be archived in the near future, so building on it means adopting code that its own author no longer maintains, on a platform whose versions have moved considerably since the scripts were written. The testing range stated at the bottom of the README is OS X/MacOS Lion through High Sierra, with the note that some scripts may not work on more recent versions of MacOS. Lion is the 2011 release and High Sierra the 2017 one, so the scripts have not been verified against anything in the last several years of macOS.
The second case is a project with real automation needs. These are personal scripts written while learning, and the author is explicit that they may not represent the best method. If you need something reliable, the same README points you at Apple's own AppleScript Language Guide and at the do shell script technical note, and for anything beyond that, at Shortcuts and the JavaScript for Automation Cookbook.
The third case is a Windows or Linux developer. Everything here is AppleScript, it drives macOS applications, and the useful external tools are all macOS tools. There is no portable subset.
The fourth case is a task that macOS now does natively. The Reminders App folder and the Display Settings folder sit alongside notes about how macOS has moved on, and the sleep prevention section points at the built-in caffeinate command rather than at the scripts in the repository. Several categories in this collection have been partly overtaken by the operating system, and picking one up without checking is how you end up maintaining something the system already does.
One practical warning about the links. The README itself notes that there may be broken links below, and points out that the original Caffeine App is no longer available, and that GoogleCL is defunct with its associated scripts remaining for posterity. The scripts that depended on a dead third party are still in the tree. That is a fair thing to know before you spend an afternoon on one.
On licence, the licence field in the repository metadata is reported as custom that GitHub cannot classify, with a LICENSE file at the root as the authority, and there are no GitHub releases and no version tags to track what you copied. If you intend to reuse a script rather than read it, that licence file is the thing to read, and the absence of versioned releases means there is nothing to point at later.
Editorial conclusion
This repository suits someone who writes AppleScript occasionally and wants a working example of how a particular automation is put together, because the folders are organised by task and each script is small enough to read. It does not suit a production dependency, since the author states plainly that some scripts may not work on recent macOS versions and that the repository may be archived. Before using anything from it, check the script against your own macOS version, because the README says the scripts were tested from Lion through High Sierra, and prefer the built-in caffeinate command over the included sleep-prevention helpers where you can.
Frequently asked questions
What is unforswearing/applescript?
It is a collection of AppleScript applets, snippets, resources and links, organised into folders such as Application Services, Battery Monitor, Display Settings, File and Folder Actions, Markdown Tools, Reminders App, Snippets, Terminal and Time and Date. The snippets can be used individually or as part of a larger project.
Is the unforswearing/applescript repository still maintained?
Not by its author. A notice dated Aug 7, 2026 says the author has moved away from using AppleScript, has not had time to update the code, that some scripts may not work with more recent versions of MacOS, and that the repository may be archived in the near future. The last push was on 2026-08-07.
Which macOS versions were the applescript scripts tested on?
The README states that scripts in the repo were tested on OS X/MacOS Lion through High Sierra, and that some scripts may not work on more recent versions of MacOS.
What external tools do the scripts in this repository depend on?
Pandoc and Textutil for document conversion from the command line, Caffeine or an alternative such as KeepingYouAwake or Amphetamine for preventing sleep, and GoogleCL for the Youtube-Post script, which the README notes is sadly defunct with any associated scripts remaining for posterity.
How do I run pmset noidle from AppleScript without the script hanging?
The README says this command must be run as do shell script "/usr/bin/pmset noidle > /dev/null 2>&1 &" to prevent the script from waiting for the shell command to complete. It also notes that the built-in caffeinate command is an alternative for macOS 10.8 and later, though it may be broken after Yosemite.
What license is the unforswearing/applescript repository released under?
The licence field in the repository metadata is reported as custom and unclassified by GitHub, with a LICENSE file at the root of the repository as the authority. The project has no GitHub releases and no version tags.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/unforswearing-applescript)Was this useful?