Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
appify — create the simplest possible Mac app from a shell script
#!/usr/bin/env bash
# Create a new super simple mac app
# Platform: Mac OS X
# Author: Thomas Aylott <>
mkdir -p "$"
cat > "$$APPNAME" <<EOF
say "Hello"
chmod +x "$$APPNAME"
echo "$PWD/$"

@mathiasbynens FTW!
Much better.

I tried to make it work using cp before but couldn't get it working for some strange reason. I forget the original issue I ran into.


mathiasbynens commented Jul 19, 2011

Feel free to backport these changes into your original gist if you like! It’s still your script :) I’ll update my blog post accordingly.

Great script guys! Thanks!

Be sure to check out Appify UI also:

jsbieber commented Nov 1, 2012

I used this today to on a .sh script of mine. When launching the app it states: "You can't open the application...because PowerPC applications are no longer supported. I'm running Mountain Lion. My .sh script runs fine natively, it is small and just uses a couple curl lines to download some tar.gz files. Any ideas?

PacoH commented Jul 5, 2014

OS X 10.8.5:
You can’t open the application “My” because it is not supported on this type of Mac

same error message as PacoH for me, unfortunately!

Same problem, the end result seems to be a PowerPC app. I guess it's just a matter of changing one of the triggers (?) but which one… If somebody has an idea, it would be great!

jrmedd commented Jan 19, 2015

I got around that PowerPC issue by ensuring that #!/bin/bash was at the top of my script ;)

gregd49 commented Feb 28, 2015

Running on mac OSX 10.10.2
I had trouble with the powerpc error.
I had to add the #!/bin/bash line to my shell script as noted above.
I had to modify my plist to be correct as noted previously.
In particular I had to change CFBundleSignature from ???? to a 4 character string.
It then worked for me.

Can someone post a simple .plist file that does the following...

  1. Allows App to be a drag + drop target.

  2. Passes dropped files into script $* to allow files to be dropped on App.

I'll also look around + if I find a good example, post it here.


andreif commented Jun 6, 2015

I made it to work on OS X 10.10 by adding file $ containing <plist><dict></dict></plist>

Neat idea. However, what directory does the script run in so that I can use relative paths?

-bash: /Users/--------/Desktop/ Permission denied

nueh commented Jul 21, 2015

chmod +x /Users/--------/Desktop/

OS X 10.10.5: You can’t open the application “My” because it is not supported on this type of Mac

adding the Info.plist with next content didn't help:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "">
<plist version="1.0">

Any ideas how to make it work on Yosemite?

tilo commented Nov 12, 2015

+1 any idea on how to make this work on OS X 10.10 or higher?
I'm not familiar with the OS X plists internals... could somebody please post a working example?

tilo commented Nov 12, 2015

I worked for me after I ran this: /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f

yvanin commented Jul 26, 2016

It started working (OS X 10.11.2) when I changed #!/bin/bash to #!/usr/bin/env bash at the first line of my .sh script

holacode commented Aug 6, 2016

use this awesome utility for creating .app package no error related to power pc

pelizza commented Aug 8, 2016

Hey guys,

Just put the correct shebang on your .sh file and everything will work fine. For instance: #!/bin/bash.
Also, don't forget to add execution permission for your .sh file: chmod +x
With these steps, there is no PowerPC error :)

my script looks like this

cd /Users/dr/Documents/Leo/leo-editor

and i added the execution permission for my .sh file.

The applified application dies immediately and I see the following entry in the console log:

15/08/16 12:52:55,087[1]: ([12195]) Service exited with abnormal code: 1

os is 10.11.5

labor4 commented Nov 21, 2016

here's a hack to make it open in Mac Terminal:

oubiwann commented Dec 9, 2016

I forked this and added option-parsing, overridable icons file, and some other bits:

aleclarson commented Jul 26, 2017

Trying to run Electron without using electron-packager.

I can get open in the Terminal to work.

But not when I double-click from the Finder, or right-click and select "Open".

Here are the repro steps:

  • Create
  • Modify the shell script:
cd $(dirname "$0")/../../..
./node_modules/.bin/electron .
  • Call chmod +x
  • Confirm open works as intended
  • Confirm double-clicking in the Finder does nothing

Any help would be awesome.


Looks like it wasn't working because node_modules/.bin/electron spawns a child process.

This works as intended:

../node_modules/electron/dist/ .
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment