As of the date of this post, GNS3 doesn’t offer a native GNS3 client for macOS with Apple Silicon - so let’s remedy that.

This post is technically a companion to GNS3 on Apple Silicon , but it should also work with most remote GNS3 server types. It will not work for macOS users running the local GNS3 server.



  1. Open your favorite terminal emulator.

We will be working from the command line for the majority of the following steps.

  1. Change to the Downloads directory.
cd ~/Downloads
  1. Clone the gns3-gui-apple-silicon repo from GitHub.
git clone
  1. Change to the gns3-gui-apple-silicon directory.
cd gns3-gui-apple-silicon
  1. Get your GNS3 server version.

If using GNS3 on Apple Silicon , run the following command:

curl -s http://gns3.orb.local:3080/v2/version


    "local": false,
    "version": "2.2.46"
  1. Clone the gns3-gui repo from GitHub.

My GNS3 version is 2.2.46, so I run the following command:

git clone --depth 1 --branch v2.2.46 src
  1. Display the version placeholder value in the gns3.spec file.
grep version gns3.spec


  1. Replace the version placeholder value.

Again, my version is 2.2.46, so I run the following command:

sed -i '' -e 's/VER/2.2.46/' gns3.spec
  1. Verify the change for the version value.
grep version gns3.spec


  1. Create a Python virtual environment.
  1. Verify PyInstaller is available.
pyinstaller --version
  1. Build the
  1. Deactivate the Python virtual environment.
  1. Move the from the dist folder to the Applications folder.
  1. Bring your own Telnet (BYOT).

The telnet binary is not included in the GNS3 application bundle. You can use Alacritty with GNS3 on macOS for guidance.

  1. Verify the goods.
file -b /Applications/


Mach-O 64-bit executable arm64 Info