Unofficial Ubuntu/Linux build of the Grok Bot desktop app.
Cursor ships Grok Bot for macOS and Windows only. This repo does the same thing the Codex Mac-to-Linux port did: take the official Electron app, put it on a Linux Electron runtime, and replace the Windows-only native addons.
It is not an xAI or Cursor product. Linux is unsupported by them.
The official Grok Bot UI — bots, the shared computer, sign-in with your Cursor account — running as a native Linux app. No Wine.
The latest stable upstream release is resolved dynamically through Cursor's update service. The current Linux runtime is Electron 42.1.0 (x86_64).
sudo apt install p7zip-full curl unzip build-essential python3 \
libfuse2 fakeroot
# Node.js 20+ (Ubuntu 24.04: sudo apt install nodejs npm is too old;
# use https://github.com/nvm-sh/nvm or NodeSource)
git clone <this-repo> grok-bot-linux
cd grok-bot-linux
make update
grok-bot
make update downloads, rebuilds, validates, and installs only when Cursor
has published a newer stable version. The final package installation uses the
normal graphical administrator prompt (or sudo when no graphical session is
available). It builds only the .deb; make build remains the command for all
distribution formats.
Or skip the package and run the tree directly:
make build
version="$(make -s detect)"
"./dist/Grok_Bot_${version}_linux_x64/grok-bot" \
--no-sandbox --ozone-platform-hint=auto
AppImage (needs FUSE 2):
chmod +x dist/Grok_Bot_*_x86_64.AppImage
./dist/Grok_Bot_*_x86_64.AppImage
Sign in with the same Cursor / SuperGrok account you use on the Mac app. Bots live on the cloud computer; this build is the remote control.
The tarball in dist/ is a self-contained Electron tree. On Fedora /
Arch, install GTK3, NSS, ALSA, and Mesa, then:
tar -xzf dist/Grok_Bot_*_linux_x64.tar.gz
./Grok_Bot_*_linux_x64/grok-bot --no-sandbox --ozone-platform-hint=auto
| Command | Result |
|---|---|
make detect | Newest stable version from Cursor's update API |
make build | Tarball + .deb + AppImage in dist/ |
make update | Build, validate, and install only when needed |
./scripts/update.sh --check | Compare installed and latest versions |
./scripts/build.sh X.Y.Z | Pin a specific upstream version |
./scripts/build.sh --exe ~/Downloads/Grok_Bot_X.Y.Z_Setup.exe | Use an installer you already downloaded |
make install-updater | Add grok-bot-update to ~/.local/bin |
If Chromium's sandbox cannot take setuid (containers, some Ubuntu
defaults), the /usr/bin/grok-bot wrapper adds --no-sandbox. Extra
Electron flags go in ~/.config/grok-bot/electron-flags.conf, one per
line.
NVIDIA + black window: add --ozone-platform=x11 to that file.
The in-app updater does not install this unofficial Linux build. Install the one-command updater once from the repository:
make install-updater
After that, update from any directory with:
grok-bot-update
Close Grok Bot before installing an available update. Routine upstream
updates write only ignored files under .cache/ and dist/; they do not edit
the checkout or require a Git commit. Repository changes are needed only when
Cursor changes the app packaging, Electron ABI, or native dependencies.
The updater retains the installed .deb and at most one previous .deb for
rollback, and removes superseded cached upstream installers. Cursor's update
response currently does not provide a checksum, so the installer cannot be
cryptographically pinned: the updater instead requires HTTPS, allow-lists the
exact download host and path, and validates the resulting Debian package's
identity and required contents before installation.
| Official Mac app | This Linux build | |
|---|---|---|
| UI / bots / cloud computer | yes | same app.asar |
| Sign-in | Cursor account | same |
| Native addons | Mach-O | rebuilt or replaced for Linux |
| Auto-update | official | rebuild from the new Windows installer |
| Support | Cursor | none (community) |
The Mac .dmg is not used here. Extracting it on Linux is awkward, and
its native modules are still the wrong ABI. The Windows NSIS installer
unpacks with 7z and is the source every working community port uses.
Details: docs/how-it-works.md.
p7zip-full, curl, unzip, g++, python3, Node 20+This repository never commits the official installer, app.asar, or
built binaries. Those are produced on your machine.
Scripts and Linux-native sources in this repo: MIT.
Grok Bot belongs to xAI / Cursor. Electron belongs to the Electron project. See NOTICE.md.
4 commits
Shell
55.1%
C
22.5%
Python
15.8%
Makefile
3.5%
JavaScript
3.1%
Unofficial Ubuntu/Linux build of the Grok Bot desktop app.
Cursor ships Grok Bot for macOS and Windows only. This repo does the same thing the Codex Mac-to-Linux port did: take the official Electron app, put it on a Linux Electron runtime, and replace the Windows-only native addons.
It is not an xAI or Cursor product. Linux is unsupported by them.
The official Grok Bot UI — bots, the shared computer, sign-in with your Cursor account — running as a native Linux app. No Wine.
The latest stable upstream release is resolved dynamically through Cursor's update service. The current Linux runtime is Electron 42.1.0 (x86_64).
sudo apt install p7zip-full curl unzip build-essential python3 \
libfuse2 fakeroot
# Node.js 20+ (Ubuntu 24.04: sudo apt install nodejs npm is too old;
# use https://github.com/nvm-sh/nvm or NodeSource)
git clone <this-repo> grok-bot-linux
cd grok-bot-linux
make update
grok-bot
make update downloads, rebuilds, validates, and installs only when Cursor
has published a newer stable version. The final package installation uses the
normal graphical administrator prompt (or sudo when no graphical session is
available). It builds only the .deb; make build remains the command for all
distribution formats.
Or skip the package and run the tree directly:
make build
version="$(make -s detect)"
"./dist/Grok_Bot_${version}_linux_x64/grok-bot" \
--no-sandbox --ozone-platform-hint=auto
AppImage (needs FUSE 2):
chmod +x dist/Grok_Bot_*_x86_64.AppImage
./dist/Grok_Bot_*_x86_64.AppImage
Sign in with the same Cursor / SuperGrok account you use on the Mac app. Bots live on the cloud computer; this build is the remote control.
The tarball in dist/ is a self-contained Electron tree. On Fedora /
Arch, install GTK3, NSS, ALSA, and Mesa, then:
tar -xzf dist/Grok_Bot_*_linux_x64.tar.gz
./Grok_Bot_*_linux_x64/grok-bot --no-sandbox --ozone-platform-hint=auto
| Command | Result |
|---|---|
make detect | Newest stable version from Cursor's update API |
make build | Tarball + .deb + AppImage in dist/ |
make update | Build, validate, and install only when needed |
./scripts/update.sh --check | Compare installed and latest versions |
./scripts/build.sh X.Y.Z | Pin a specific upstream version |
./scripts/build.sh --exe ~/Downloads/Grok_Bot_X.Y.Z_Setup.exe | Use an installer you already downloaded |
make install-updater | Add grok-bot-update to ~/.local/bin |
If Chromium's sandbox cannot take setuid (containers, some Ubuntu
defaults), the /usr/bin/grok-bot wrapper adds --no-sandbox. Extra
Electron flags go in ~/.config/grok-bot/electron-flags.conf, one per
line.
NVIDIA + black window: add --ozone-platform=x11 to that file.
The in-app updater does not install this unofficial Linux build. Install the one-command updater once from the repository:
make install-updater
After that, update from any directory with:
grok-bot-update
Close Grok Bot before installing an available update. Routine upstream
updates write only ignored files under .cache/ and dist/; they do not edit
the checkout or require a Git commit. Repository changes are needed only when
Cursor changes the app packaging, Electron ABI, or native dependencies.
The updater retains the installed .deb and at most one previous .deb for
rollback, and removes superseded cached upstream installers. Cursor's update
response currently does not provide a checksum, so the installer cannot be
cryptographically pinned: the updater instead requires HTTPS, allow-lists the
exact download host and path, and validates the resulting Debian package's
identity and required contents before installation.
| Official Mac app | This Linux build | |
|---|---|---|
| UI / bots / cloud computer | yes | same app.asar |
| Sign-in | Cursor account | same |
| Native addons | Mach-O | rebuilt or replaced for Linux |
| Auto-update | official | rebuild from the new Windows installer |
| Support | Cursor | none (community) |
The Mac .dmg is not used here. Extracting it on Linux is awkward, and
its native modules are still the wrong ABI. The Windows NSIS installer
unpacks with 7z and is the source every working community port uses.
Details: docs/how-it-works.md.
p7zip-full, curl, unzip, g++, python3, Node 20+This repository never commits the official installer, app.asar, or
built binaries. Those are produced on your machine.
Scripts and Linux-native sources in this repo: MIT.
Grok Bot belongs to xAI / Cursor. Electron belongs to the Electron project. See NOTICE.md.
4 commits
Shell
55.1%
C
22.5%
Python
15.8%
Makefile
3.5%
JavaScript
3.1%