jurplel/InstantSpaceSwitcher

Native space switching on macOS with no animation

2,110

stars

78

commits

Swift

primary language

Jun 21, 2026

updated

README

InstantSpaceSwitcher

Native instant workspace switching on macOS. No more waiting for animations.

https://github.com/user-attachments/assets/037422c9-3fb7-41cd-8da7-58d28c4c8eff

Features

  • Does not require disabling SIP
  • Uses native macOS spaces
  • Free

A simple CLI is provided (InstantSpaceSwitcher.app/Contents/MacOS/ISSCli --help)

Installation

Homebrew

brew install --cask jurplel/tap/instant-space-switcher

After installation the app is located inside /Applications/InstantSpaceSwitcher.app

Downloads

Pre-built binaries are available through Github Releases here.

Build from source

git clone https://github.com/jurplel/InstantSpaceSwitcher
cd InstantSpaceSwitcher
./dist/build.sh
open ./build/InstantSpaceSwitcher.app

Troubleshooting / First time startup

  1. When opening the app the first time you are likely to run into any of the following warnings:

"Apple could not verify InstantSpaceSwitcher.app is free of malware"

"App is damaged and can’t be opened"

"App can't be opened because the developer cannot be verified"

Please follow the instructions here for instructions on how to allow the app to run1.

  1. Afterward you will get a warning that InstantSpaceSwitcher wants to use accessibility features. You have to allow this.

  2. Then open the app from the Applications folder and the configuration window should appear.

Background

When I first bought a high refresh rate monitor, around ~2018, I could tell that the space switching animation was longer because it had scaled with the refresh rate. Because of this, I eventually stopped using spaces altogether, and have been looking for a solution ever since.

The workaround in this project is to create a synthetic trackpad gesture with an artificially high velocity. This effectively skips the animation.

If you work at Apple, and your team owns the space switching animation, please fix this long-standing bug2 (and let us disable the animation natively, please).

Footnotes

  1. This happens because the app is not signed, which requires a costly Apple Developer account

  2. And I know for a fact there is a rdar for this

Contributors

jurplel

66 commits

stitch

3 commits

joshuarli

2 commits

jurplel/InstantSpaceSwitcher

Native space switching on macOS with no animation

2,110

stars

78

commits

Swift

primary language

Jun 21, 2026

updated

README

InstantSpaceSwitcher

Native instant workspace switching on macOS. No more waiting for animations.

https://github.com/user-attachments/assets/037422c9-3fb7-41cd-8da7-58d28c4c8eff

Features

  • Does not require disabling SIP
  • Uses native macOS spaces
  • Free

A simple CLI is provided (InstantSpaceSwitcher.app/Contents/MacOS/ISSCli --help)

Installation

Homebrew

brew install --cask jurplel/tap/instant-space-switcher

After installation the app is located inside /Applications/InstantSpaceSwitcher.app

Downloads

Pre-built binaries are available through Github Releases here.

Build from source

git clone https://github.com/jurplel/InstantSpaceSwitcher
cd InstantSpaceSwitcher
./dist/build.sh
open ./build/InstantSpaceSwitcher.app

Troubleshooting / First time startup

  1. When opening the app the first time you are likely to run into any of the following warnings:

"Apple could not verify InstantSpaceSwitcher.app is free of malware"

"App is damaged and can’t be opened"

"App can't be opened because the developer cannot be verified"

Please follow the instructions here for instructions on how to allow the app to run1.

  1. Afterward you will get a warning that InstantSpaceSwitcher wants to use accessibility features. You have to allow this.

  2. Then open the app from the Applications folder and the configuration window should appear.

Background

When I first bought a high refresh rate monitor, around ~2018, I could tell that the space switching animation was longer because it had scaled with the refresh rate. Because of this, I eventually stopped using spaces altogether, and have been looking for a solution ever since.

The workaround in this project is to create a synthetic trackpad gesture with an artificially high velocity. This effectively skips the animation.

If you work at Apple, and your team owns the space switching animation, please fix this long-standing bug2 (and let us disable the animation natively, please).

Footnotes

  1. This happens because the app is not signed, which requires a costly Apple Developer account

  2. And I know for a fact there is a rdar for this

Contributors

jurplel

66 commits

stitch

3 commits

joshuarli

2 commits

Languages

Swift

76.0%

C

22.2%

JavaScript

1.1%