Who's Behind Keyboard Maestro?

Hi @peternlewis, I was just wondering are you the sole keeper (developer) of Keyboard Maestro? I can't imagine that with such a full set of features that just 1 person could maintain all of it. I think I only know how to use 10% of its features, but always trying to learn more. Just wish I had started using it earlier. :slight_smile:


Good question! :face_with_hand_over_mouth:

I figured the man would answer for himself pretty quickly and didn't say anything when this topic cropped up yesterday.

The man behind the curtain is the one and only Peter N. Lewis, and he runs a one man shop.

There are a very few volunteers who help out with the forum and the wiki, but other than that Peter does it all.


Wow!! That is incredible! I thought Keyboard Maestro had a whole development team behind it since it is so feature rich. My hat goes off to you sir, @peternlewis, for creating such a wonderful tool.

I have only been using Keyboard Maestro for 6 months now and my list of macros continues to grow daily. I keep learning new things that KM can do. It is at a point now where I don't think I can be productive without it.

Also, thanks to the friendly people who always answer questions on this forum. This is the best place to learn.



I echo your sentiments @ChrisQ. The fact that Peter not only develops Keyboard Maestro, but has such an active presence on the forum, interacting with his customers is one of the things that to me set Keyboard Maestro apart from most if not all other software I use.



Keep in mind that Keyboard Maestro has been in Peter's hands since 2004 and has been commercially available since then – so we now have 20+ years of development behind the product.

Keyboard Maestro - Wikipedia

Keyboard Maestro was created and first released in 2002 by Michael Kamprath and purchased by Stairways Software in 2004, and has been in continuous development since then.

I started using Keyboard Maestro version 1 in 2004 alongside QuicKeys, which I was pretty certain was nearing end-of-life.

It's grown and grown since then...


Yes, it is just me. Chris and a few others help a lot on the forum, and with the wiki, but everything else is just me.

The reason I can do this is, well, for one I'm a pretty good programmer, but I think more importantly, I have a very strong focus on quality and clarity. I touched on this on another topic:

Basically, if there are problems in Keyboard Maestro that result in me having to answer a dozen support emails a day, then that is time taken away from development on Keyboard Maestro, not to mention unpleasant time for my customers. So I ensure my customers don't get the same problems over and over again by adjusting Keyboard Maestro to remove or clarify the problems. This makes Apple’s crappy buggy security preference system all the more annoying because I cannot do anything to fix it.

Similarly, there are almost no crashes in Keyboard Maestro (my current estimate is about 1 crash per 50 user-years). This stems from me asking for every crash, not just how the crash could be fixed, but how the crash could have been avoided in the first place.

I also have a strong belief in orthogonality of features, by which I mean each feature should be independent of other features, and should combine and complement them. The wiki home page has a list of the main ones, things like triggers, actions, functions, tokens, conditions. You don't have to know anything about actions to understand the triggers. You don't have to know anything about tokens to understand functions. But you can use tokens and functions together to add power to each other. I also tend to make my actions simpler and resist adding facilities to an action that can be built with other actions. People coming from Quickeys tended to hit this and find Keyboard Maestro to be more complex because they had to use two or three actions to make one Quickeys action, but it actually makes it simpler because each action itself is simpler, and also more powerful, because the actions can be combined in different ways.

And then, as Chris alludes to, I've been developing Keyboard Maestro for almost 20 years now, slowly building and shaping it. I compare programming to whittling in the sense that the end result is caused by thousands of tiny changes. It's important to ensure those changes work together to make something harmonious, and not something that looks patched together (which is my way of apologising to those folks who have made perfectly reasonable suggestions over the years that I have not done because they don't quite fit within the rest of Keyboard Maestro).

I don't think there is anything magic to this, any good programmer could apply it, and there are others out there who clearly do, resulting in great indie programs like PCalc, Acorn, NetNewsWire, etc.


Just for fun of it, I use ChatGPT to get the information and here's the result


That's said – Keyboard Maestro is an amazing and valuable tool if one is willing to invest time in it.

For example – one could use a custom prompt window to extend ChatGPT's capabilities and features.


Your expertise and focus are appreciated, @peternlewis. And here's my personal impressions and response:

  • The more I use Keyboard Maestro, the more I'm amazed with its consistency, capability, and stability.

  • When you release an update, I purchase it with enthusiasm and confidence.


KM is a quality product at a very reasonable price, developed by a man who knows his craft. That is certain and undisputed. This is the best precondition, but not the reason for its success. Otherwise everyone who creates a good product would be successful.

KM is not a T-Shirt that can be changed at will when you don't like it anymore. KM does not compete with 100 million other T-Shirts that you could wear just as well.

KM is unique. There is KM or there is nothing! This is the essential truth.

Fortunately, there is KM to support us all in our daily work :grinning:


This rigorous approach comes across plainly in your replies to suggestions and queries. I also greatly appreciate your patience and willingness to entertain such input.


Hi Peter, you created a really amazing software. I purchased yesterday the license and I cannot wait to spend some time with it. Thanks for your great work!


I don't know. I see it more as a work of Art. It has an uniqueness to it and, I believe, emergent properties.

I am, by most standards, not a power user but I use it all the time in a way I almost don't notice now.

Of course there are other talented programmers as you point out, I do think to some extent a great program is unique though? I don't know of one that, to my mind, is as different from anything else as yours is.
A good comparison is maybe native shortcuts, which seem to me rather pedestrian and hard to work. I can't fully judge now because I don't bother with them, I gave up, as long as I have Keyboard Maestro I don't need them anyway. They are, on the other hand kind of predictable at some level?

In other words I don't think anybody would have come up with anything exactly like Keyboard Maestro to be honest with you and for sure wouldn't have developed it into its current form.
The time scale, continuity and amount of work makes any real test of this impossible of course.


Just for everyone else’s benefit, ChatGPT will assertively claim all sorts of complete falsehoods with equal conviction. Regardless of what you ask it, it will generally be very clear and plausible and assertive, but not necessarily actually correct. Do not trust it to answer any question you care about.


Never forget this!

ChatGPT is just a database. The machine reports what you feed it. Because it doesn't "understand" if something is possible or not, the answer could have been like this.

"The developer behind KM is Peter Lewis. He lived on Mars with his five wives, later he emigrated to Earth, where he has perfected the art of not breathing. KM was created when he was two years old. The most famous user is Mickey Mouse."


:joy: In your 'SPARE' time you should write a Sci-Fi novel. :sunglasses:


Hi Peter,

I don't know if this helps. When testing I often get a macro that just hangs as my skills are not great. I make a few tweaks and retest but often forget that the original is still running, albeit "hanging". So I end up with same named macro running simultaneously I notice "Oops!"

So just a thought. Some sort of notification, "Hey! Cancel the running macro before trying to run again".

Just a thought. Appreciate all your work. A labour of love.

All the best

The way I handle this is to have the Keyboard Maestro Status Menu Icon active in my menu bar and to use the Iconoholic Loud icon set.

This gives me an unmistakable visual indicator when a macro runs or continues to run when it shouldn't.

1 Like

I have an "emergency button" :sweat_smile: to cancel all macros just in case the macro I'm testing is misbehaving, stuck in a loop, etc (due to my mistakes of course).

So, before I test any macro that I'm working on, I just press that button to make sure all macros have been cancelled. Then, I run the macro that I'm currently testing.



I have a kill-switch too – for almost 20 years now.

But despite having a kill-switch you're completely SOL if you don't know you need to use it – and some errant macro is eating your hard drive...

I lost most of my ~/Downloads folder once, because I was testing something – got distracted and forgot to disable the test macro – and then later my fingers did the walking and activated it.

It was a hotkey I regularly used, because I was testing with the macro I normally used.

My intuition saved me. I had a feeling something was wrong and looked in the “Cancel” menu of my KM Status Menu, and sure enough that bleeping macro was eating my hard drive. So I implemented some changes in the way I do things:

  • I always run the KM Status Menu (even though it takes up space).
    • I use the Iconoholic Loud Icon Set, so it will get my attention if a macro is running.
    • I also have a brief cue when a macro runs – so I don't have to guess if it properly activated – which saves me aggravation and testing time.
  • When I test macros I always use a special test hotkey.
    • I'll change to the hotkey in the finished macro to what I want for that task.