Skip to content

// guides

Grok CLI vs Grok Build: Two Agents, One `grok`

If you searched for Grok CLI you may have landed on either of two unrelated projects. Grok CLI is superagent-ai/grok-cli, a community agent that is explicitly not affiliated with xAI. Grok Build is xai-org/grok-build, xAI's own. Both install a binary named grok into $HOME/.grok/bin, so they overwrite each other. Their Linux ARM64 support is exactly inverted. Here is which one you actually want, and what breaks when you mix them up.

Jump to what you came for:

Which Grok is which?

The confusion is structural, not careless. The community project was created on 2025-07-14. xAI created theirs on 2026-07-14, exactly one year later, and named the command the same thing. Search results from 2026 mix the two freely, and a lot of tutorial content written for one silently applies the other's install instructions.

Every number below was read first-hand on 2026-07-20 with gh api, the npm registry, and HTTP probes against the published release assets. Star counts and versions on both projects move within days, so treat the date as part of the fact.

  Grok CLI Grok Build
Repository superagent-ai/grok-cli xai-org/grok-build
Affiliation Community, not xAI Official xAI
Created 2025-07-14 2026-07-14
Harness license MIT Apache-2.0
Language TypeScript on Bun Rust
Stars (2026-07-20) 3,314 20,734
Command grok grok (also links agent)
Install directory $HOME/.grok/bin $HOME/.grok/bin
npm package grok-dev None
Linux arm64 build Not published (404) Ships linux-aarch64
Auth Grok API key from x.ai grok login --device-auth or API key
Mobile build None None

One shortcut that always works: if the install command starts with curl -fsSL https://x.ai/cli/, it is xAI's. If it starts with curl ... raw.githubusercontent.com/superagent-ai/ or bun add -g grok-dev, it is the community one.

The collision: same command, same directory

Both projects put a file called grok in $HOME/.grok/bin. Neither installer checks whether the other is already there. Install one after the other and the second silently replaces the first, leaving your shell history, your aliases, and your muscle memory pointing at a different program than you think.

Checking which grok you actually have

$ which -a grok

/root/.grok/bin/grok

$ grok --version

grok 0.2.106 (ab5ebf69ac)

# version + commit hash = xAI's Grok Build

$ ls ~/.grok/install.json

ls: cannot access '/root/.grok/install.json': No such file

# install.json is written only by the community CLI's install.sh

Two checks disambiguate an existing install. grok --version on Grok Build prints a version plus a short commit hash, like 0.2.106 (ab5ebf69ac). The community CLI reports its npm version, 1.1.7. And ~/.grok/install.json is written only by the community project's install.sh.

If you want both, install one with its directory override rather than hoping. Grok Build honours GROK_BIN_DIR; Grok CLI's installer takes --binary <path> and --no-modify-path. We would rather rename one binary outright than keep two programs racing for the same six letters.

The ARM story is exactly backwards between them

This is the part that costs people an afternoon. The two projects have opposite ARM64 Linux support, so every sentence you read about "running grok on ARM" is correct for one and wrong for the other.

We probed every published release asset for both projects on 2026-07-20. The raw log, including the exact commands so you can re-run it, is committed here: the full architecture probe capture from 2026-07-20. The result:

Release asset Project HTTP status
grok-linux-arm64 Grok CLI 404, not published
grok-linux-x64 Grok CLI 200
grok-darwin-arm64 Grok CLI 200
grok-0.2.106-linux-aarch64 Grok Build 200, first-class target
grok-0.2.106-linux-x86_64 Grok Build 200

Grok CLI's install.sh maps aarch64 to arm64 in its arch case, then downloads grok-linux-arm64, a file that does not exist. On Termux, which is aarch64, the documented install cannot finish. Note the reason carefully: the artifact was never published. This is not the glibc-versus-Bionic dynamic-linking problem that blocks other prebuilt CLIs, and borrowing that explanation would be wrong. Our Termux comparison covers where that distinction matters for other tools.

Could npm i -g grok-dev route around it? Maybe. That is the escape hatch that gets Node-based agent CLIs onto Termux, and grok-dev declares engines: node >=18 with no CPU restriction. But it depends on @opentui/core and agent-desktop, which ship native components, and the project targets Bun rather than plain Node. We have not tested that path on aarch64, so we are not going to tell you it works. Unverified is the honest answer until someone runs it.

Running either one with a phone as your only machine

Neither project has an iOS or Android build. Grok CLI's installer accepts Darwin, Linux, and Windows and exits 1 on anything else; Grok Build's does the same. Nobody is shipping a coding agent that runs natively on iOS.

Grok CLI's Telegram remote control is the closest thing to a phone story, and it is worth being precise about what it is. The README's framing is to keep the CLI running while you ping it from your phone. Something of yours stays awake, and your phone is a messaging front-end to it. That is a relay, and we have a whole guide on relay apps versus cloud containers and why the difference matters when your laptop lid is shut.

The other shape is to put the agent on a Linux machine that is already awake and reach that from the phone. Ours is an Ubuntu 24.04 x86_64 container on Azure AKS, which we reach from native iOS and Android apps. The relevant detail here is boring and load-bearing: it is x86_64, so the linux-x64 asset that Grok CLI actually publishes resolves normally, the same binary its own installer cannot find on an ARM phone. We installed Grok CLI 1.1.7 into a clean Ubuntu 24.04 x86_64 container and grok --version reported 1.1.7 against a 117 MB binary.

We do not pre-install either Grok agent. We ship Claude Code, Codex CLI, OpenCode, and Gemini CLI; adding Grok is a one-line install you run yourself. And one honest limit: we would not host Grok CLI's grok daemon --background scheduler or its Telegram pairing as an always-on service. Pro is 120 hours of compute a month with hibernation after ten minutes idle, and a hibernated container is a daemon that stopped answering. If you need something listening at 3am, that is a VPS job.

Run either Grok agent from your phone. Install Cosyra, run the installer for whichever grok you actually meant, and go. 1 hour free. No credit card. No trial signup.

See pricing

Which one should you actually install?

Install Grok Build if you want xAI's own agent with support behind it, you are on ARM Linux and need a binary that exists, or you need browserless sign-in. grok login --device-auth prints a code you approve on another device, which is the flow that works over SSH or in a container. It also has far more momentum: 20,734 stars in six days against the community project's 3,314 in a year, and its last push was today while Grok CLI's was 2026-07-06.

Install Grok CLI if you want search_x, which queries live X posts from inside the agent loop. No other agent CLI we track does this, and for debugging a library that changed last week it is a real edge. It also gives you sub-agents by default, a --batch-api mode for cheaper unattended runs, structured --format json output, and a hackable TypeScript agent loop that is far easier to modify than a 146 MB Rust binary. If you want to read the code your agent runs, this is the one.

One opinion, stated plainly because we think the star counts are misleading people: the community CLI is the more interesting piece of software, and it is losing on distribution, not on merit. X search is a genuinely novel capability. The missing ARM64 artifact is a CI configuration gap, not a design decision. Picking on stars alone means picking the newer project because it has a bigger logo on it.

For where either fits among the agents that do have a phone story, see the pillar on AI coding agents on mobile, or the walkthrough for running Grok Build on a phone.

Frequently asked questions

Is Grok CLI xAI's official CLI?

No. Grok CLI is superagent-ai/grok-cli, a community project. Its README carries an explicit disclaimer that it is not affiliated with, endorsed by, or sponsored by xAI Corp. xAI's own terminal coding agent is Grok Build, at xai-org/grok-build. There is no repository at xai-org/grok-cli; that path returns 404, checked 2026-07-20.

Which npm package is the real Grok CLI?

grok-dev, currently 1.1.7, published 2026-05-15. The project was renamed. The older @vibe-kit/grok-cli stopped at 0.0.34 on 2025-11-27 and is roughly eight months stale, though it still appears in npm search results and in older blog posts. Grok Build has no npm package at all.

Do Grok CLI and Grok Build conflict if I install both?

Yes. Both install a binary named grok into $HOME/.grok/bin, so whichever you installed most recently wins and neither installer warns you. Grok Build also links a second command, agent, to the same binary. If you want both on one machine, install one with a custom directory, then confirm with which -a grok before assuming which agent you are talking to.

Can Grok CLI run on Termux or any ARM Linux?

Not through its documented installer. Grok CLI publishes grok-darwin-arm64, grok-linux-x64, and grok-windows-x64.exe, but no grok-linux-arm64. We probed that asset URL on 2026-07-20 and it returns 404 while the x64 asset returns 200. The install script maps aarch64 to arm64 and then requests a file that was never published, so it fails on Termux for a missing-artifact reason rather than a libc reason. Grok Build is the opposite: its linux-aarch64 binary is a first-class target and returns 200.

Does Grok CLI's Telegram remote control mean it runs on my phone?

No. It is a relay. The README's own framing is to keep the CLI running while you ping it from your phone, which means a machine somewhere stays awake running the agent and your phone sends it messages. That is a different shape from running the agent itself on hardware you can reach.

Is Grok CLI open source?

The harness is; the model is not. superagent-ai/grok-cli is MIT-licensed TypeScript you can fork and audit, and the tool itself costs nothing. The Grok model it calls is proprietary and xAI bills you for API usage through your own key. The same split applies to Grok Build, whose harness is Apache-2.0 Rust. Neither tool is free to run, only free to install.

tl;dr

Grok Build (xai-org/grok-build) is xAI's, Apache-2.0 Rust, installed from x.ai/cli, and ships a linux-aarch64 binary. Grok CLI (superagent-ai/grok-cli) is a community MIT project, installed via grok-dev on npm, and publishes no Linux ARM64 asset, so its installer 404s on Termux. Both write grok to $HOME/.grok/bin and overwrite each other. Use Grok Build for ARM and official support; use Grok CLI for live X search and a hackable TypeScript loop. Neither runs on a phone: put one in a cloud Ubuntu container and reach it from the app.

App Store / Google Play. 1 hour free. No credit card. No trial signup.

Get a real Linux terminal on your phone. Ubuntu 24.04 with Claude Code, Codex CLI, OpenCode, and Gemini CLI pre-installed. Add either Grok agent in one command.

See pricing