All component versions, store ships, and commit history — agents, relay, iOS / iPad / Mac / Vision, Android phone & tablet. Times are local repo timestamps (CEST). Updated · agent install default v0.6.0+ (GitHub Release v0.6.0) · source/docs tag v0.6.1 (inbox watch · claw skill) · relay 0.6.0 live (`classes` on `/health`) · mobile 1.3.1 · Grok Bot 11 Aug 2026 · unified control layer · Claude chain · gbr-mcp 13 tools.
Site https://grokbuildremote.com/ · App Store https://apps.apple.com/app/id6791293726 · Play https://play.google.com/store/apps/details?id=com.grokbuildremote.app
Thanks, Roger — for the latest version update testing and tokens that helped ship and verify these builds.
Live snapshot 2026-08-24 00-40 — Build Remote Agent.
Inbox watcher + OpenClaw skill are on main (PRs #15 / #16).
Tag v0.6.1 is source/docs (inbox, two-submit /rename, claw skill, INSTALL.md).
Published install binaries stay v0.6.0 — pin v0.6.0+.
make build from the v0.6.1 tag for inbox watch. No iOS resubmit. No Play 1.3.2 reopen.
gbr-agent run. No fourth pair protocol./rename TITLE must be its own submitted TUI line (not inside a paste). Alias /title. Inbox watcher: two submits — /rename TITLE, then the body.boss-steer injects GitHub comments into a matching Grok Build title. After the watcher is running, do not paste.
MCP — gbr-mcp 13 tools on the same host as gbr-agent run:
gbr_diagnose · gbr_status · gbr_sessions ·
gbr_devices · gbr_open · gbr_lock ·
gbr_result · gbr_tasks ·
gbr_inject · gbr_inject_and_wait ·
gbr_output · gbr_fleet_add · gbr_discovery.
Clients: Claude Code / Cowork (claude mcp add) ·
Grok CLI (grok mcp add) ·
Cursor (~/.cursor/mcp.json) ·
Hermes (hermes mcp add … -- stdio) ·
OpenClaw (ClawHub skill skills/openclaw/SKILL.md, not a core PR).
AIs: INSTALL.md
· AGENTS.md
· mcp/gbr-mcp/INSTALL.md
· llms.txt
· Bot API http://127.0.0.1:8788
· FAQ #faq-rename
· #faq-inbox
· #faq-nemo
· #faq-mcp
· use case OpenClaw / Hermes / NemoClaw
Build Remote Agent is the unified control layer for Grok Build remotes.
The GitHub HTTPS relay stays the feedback loop and documentation layer.
Grok Bot (xAI, 11 Aug 2026 beta) now gets a stable device vocabulary:
phone · linux · pc · laptop · mac_mini.
GET /v1/devices and GET /health include class, hostname, impl.POST /v1/inject {"device":"mac-mini"} routes by unique class. Ambiguous class → 409. Unknown name → 404 (no silent local fallback).phone is the paired app (spectator). Injects → 400 cannot_inject_phone.ok / stale / zombie and probes companion remotes on loopback: Amnibro :2421, Farina :7910/api/health, ChrisP hub :8787/health. GBR Bot API remains :8788.Community remotes we market (not forks we absorb): Amnibro/grok-remote (LAN plugin UI) · daniel-farina/grok-remote (TypeScript Tailscale PWA) · ChrisP-Builds/grok-remote-hub (Python always-on hub). Device switching / persistent fleet pattern also from loppo-llc/kojo.
Install default is v0.6.0 —
GitHub Release v0.6.0
and this site’s installers.
macOS/Linux: curl -fsSL https://grokbuildremote.com/install.sh | bash
· Windows: irm https://grokbuildremote.com/install.ps1 | iex
· then gbr-agent version (must print v0.6.0+).
Apps:
https://grokbuildremote.com/
· App Store https://apps.apple.com/app/id6791293726
· Play https://play.google.com/store/apps/details?id=com.grokbuildremote.app.
Relay. Live Worker health is 0.6.0
on gbr-relay.ekobrott.workers.dev
(bot, fleet, classes: phone|linux|pc|laptop|mac_mini, auth_mode=enforce).
Agent v0.6.0 stays on protocol gbr/1 (additive class).
Home #ecosystem · FAQ #faq-ecosystem · BOT-API.md
One contract, two ecosystems.
Grok bot uses HTTP on 127.0.0.1:8788 or the hub Bot URL.
Claude Cowork / Claude Code uses gbr-mcp against the same JSON.
Phone is spectator (short bot · local · … lines), not the orchestrator.
Loop
diagnose → open/attach → lock → inject → GET /result?wait_ms= → judge → iterate or DELETE /lock
POST /v1/sessions/open — spawn grok / grok --resume, or attach. MCP: gbr_open.POST /v1/lock — exclusive lease (grok-bot / claude-coworker). 409 if the other client holds the window.GET /v1/result?wait_ms= — wait for a prompt or quiet output; harvest a tail excerpt. Does not wait for full TUI scrollback.GET|POST /v1/tasks — durable iterate / done / failed row.unknown-N sessions stay injectable. Only the literal id session is refused.
Shipped where. Relay 0.5.4 is live on
gbr-relay.ekobrott.workers.dev.
Agent source is main commit 78a0da9; binaries v0.5.4 on this site’s
/downloads/latest/ and GitHub Releases.
gbr-mcp 0.2.0 lives at
mcp/gbr-mcp
— clone, npm install, node bin/gbr-mcp.js. No npm package.
Home #chain-home · FAQ #faq-chain · BOT-API.md
What it is. An MCP server wrapping the 0.5.4 Bot API, so
Claude Cowork / Claude Code, Grok CLI, Cursor,
Hermes, OpenClaw (skill, not a core PR) and any other MCP client can
open, lock, inject and harvest results across the fleet as first-class tools.
Thirteen tools:
gbr_diagnose · gbr_status · gbr_sessions ·
gbr_devices · gbr_open · gbr_lock ·
gbr_result · gbr_tasks ·
gbr_inject · gbr_inject_and_wait ·
gbr_output · gbr_fleet_add · gbr_discovery.
cd mcp/gbr-mcp && npm install && node bin/gbr-mcp.js --diagnose
Why a wrapper and not raw curl. Three Bot API behaviours silently mislead an autonomous client, and the server normalises all three:
POST /v1/inject with an empty
session_id returns 200 with {"ok":false,…}. Raised as
GBR_AGENT_REFUSED.inject blocks server-side when no live window is attached. Every
call is bounded by a timeout whose message names the real cause.local. The server
compares the echoed device to the requested one and attaches a _warning.
Built for unattended debugging. Structured JSONL at
~/.gbr/logs/gbr-mcp-<date>.jsonl plus human stderr, with a per-call correlation id
threaded through MCP request → HTTP → response. Failed calls return code,
hint, correlation_id and log_file, so an agent can go and read
its own failure. gbr_diagnose returns a literal repair command for every failed check.
Secrets. Mailbox keys, bearer tokens and any bare 48+ char hex string are redacted
before reaching either sink, at every level including trace — three layered defences
(exact-value scrubbing, key-name matching incl. camelCase, hex fallback) plus token-boundary
truncation so a split secret cannot slip under the length floor. Tests assert a key never reaches
the response, stderr, or the log file.
Verified. 37 offline + 30 protocol assertions, green side by side on
macOS 26.5.2 / Node 26.7.0 / arm64 and
Ubuntu 22.04.5 / Node 22.22.3 / aarch64. Node ≥20, no native dependencies.
test/fixtures/ ships a Bot API emulator and a fleet driver, so the full
inject → output path — including dispatch to a named remote device — runs in CI with
no agent and no network.
Source: mcp/gbr-mcp · INSTALL-FAQ.md · FAQ #faq-mcp · home #gbr-mcp-home
One config, both agents. Grok CLI reads ~/.claude.json in addition to
~/.grok/config.toml. Note grok mcp doctor dedupes — a server in both
files reports as “0 servers” from claude.json, which is deduplication, not a parse failure.
Aligned marketing version — iOS and Play both ship 1.3.0 (highest shared train). Platform build numbers differ (iOS CFBundleVersion / Android versionCode).
| Layer | Marketing | Build / vc | Status |
|---|---|---|---|
| Google Play (production) | 1.3.0 |
vc22 | Live · package com.grokbuildremote.app |
| iOS · iPad · Mac · Vision | 1.3.0 |
19 | Source + 2.3 metadata/screenshot resubmit train |
| Android source tree (Dropbox) | 1.3.0 |
vc21 | Behind live Play vc22 — next upload must be ≥23 |
| Desktop agent | — | v0.5.0 | install.ps1 / install.sh |
QA (Android / Play path, 2026-08-16) — local assembleDebug + emulator launch
MainActivity OK (package com.grokbuildremote.app.debug, marketing 1.3.0).
Privacy /privacy.html HTTP 200. L21 icon: no open Play reject.
Store screenshots — listing set under
stores/assets/screenshots/store-1.3.0/ and
google-ss-marketing-2026-08-07/ (1.3.0 / v0.5 feature set).
iOS 2.3 resubmit used cleaned device shots (no price overlays) —
see stores/RELEASE-2026-08-15-ios-2.3-resubmit.md.
Confirm Play Console still shows the 1.3.0 phone set (not older 1.1.x art).
Thanks, Roger — for testing the latest version updates and for tokens that kept QA and store iterations moving.
Client surfaces
TARGETED_DEVICE_FAMILY = 1,2); new split UI with persistent session sidebarsupports-screens large/xlarge, resizeable)
Store & site — descriptions and homepage now lead with
iPhone · iPad · Mac · Vision and tablet Android.
ASC 1.3.0 rejected train: listing text updated; build 18 uploaded to TestFlight
(Delivery UUID e032897f-8e00-48a3-9de9-ada200b36743).
QA — sim launch OK on iPhone 17 + iPad Pro simulator.
Internal: stores/RELEASE-2026-08-14-multidevice-ipad-mac-vision.md
· home: #multi-device-home
· devices: #devices
Voice-to-text inject (hold mic on phone) · ANSI colorized agent transcript + larger scrollback ·
optional self-hosted relay (same Worker, phone Settings + GBR_RELAY_URL) ·
desktop gbr-agent service install auto-start · session health badge + check (relay + agent last-seen).
Protocol remains gbr/1 (additive heartbeat fields only). Docs:
agent SELF-HOSTED-RELAY.md ·
Support · Network.
Feature request source · Grok. These five capabilities were suggested by Grok (xAI) as product direction. Built and shipped by Linespotting as an independent third-party product — not affiliated with or endorsed by xAI or SpaceX. See Press & Independence · home callout #grok-feature-request.
Current aligned train
| Layer | Marketing | Build / vc | Rule |
|---|---|---|---|
| iOS · iPad · Mac · Vision · Watch | 1.3.0 |
19 | Same marketing string as Android · multi-device |
| Google Play production | 1.3.0 |
vc22 | Live; next AAB versionCode ≥ 23 |
| Android phone & tablet (source tree) | 1.3.0 |
vc21 (Play live vc22) | Marketing matches iOS; bump versionCode ≥23 on next Play upload |
| Desktop agent | 0.5.0 |
— | Independent; pin site install default |
| Relay | 0.5.0 |
— | Stay on gbr/1 unless breaking |
Policy: on every dual-store ship, iOS marketing version = Android marketing version.
ASC build number and Play versionCode may differ.
versionName + iOS CFBundleShortVersionString = 1.3.0versionCode 21 · iOS build 18 (multi-device TF)stores/assets/screenshots/google-ss-marketing-2026-07-23/ still July marketing — re-run with v0.5 captionsstores/assets/screenshots/apple/ assets pre-mic/health — regenerate from sim + marketing frames
Internal doc: stores/VERSION-ALIGNMENT-TODO.md · this section: #version-todo
Marketing frames on the homepage · uploaded to Play · iOS sizes generated (Console while in review if API locked).
Shawn reported a production discovery bug: the phone could pair successfully, yet Grok Build never appeared in sessions on Windows when many terminals/windows were open. The agent was collapsing every UI window into a single session id (shared working directory), so Grok Build was hidden behind PowerShell/other hosts.
We shipped free agent v0.4.4 with unique sessions per window, better Grok title matching,
and gbr-agent support-log (file in Downloads) plus phone Copy support log
so the next report is one email away.
Thank you, Shawn — this made multi-window Windows reliable for everyone.
If sessions stay empty: upgrade to 0.4.5+, open Grok Build, run
gbr-agent support-log and gbr-agent run, then phone Settings → Copy support log.
Guide: Support → Logs.
Minimal text feedback from the PC (on/off · 5s–1h · expand) plus honest status when Grok Build UI has no console buffer. Composer chips: paste link, Drive link, photo→Drive share sheet.
Photos stay on the phone; share to Google Drive → Anyone with the link → inject the
drive.google.com URL so Grok can open the file. Requires free agent 0.4.5+.
Josh reported a production pairing bug: free agent 0.3.x finished
gbr-agent pair and wrote a mailbox id into ~/.gbr/device.json, but never
persisted the 64-character mailbox_key the enforce-mode relay requires. Every later
poll and heartbeat then failed with:
HTTP 401: {"error":"unauthorized","reason":"missing"}
That report was accurate and actionable. We shipped desktop agent v0.4.1 the same day so pair always stores the key (and fails hard if the relay does not issue one). Thank you, Josh — this made the product better for every Mac/Windows/Linux user.
If you hit the same 401: install v0.4.5+, run rm -rf ~/.gbr, pair again
(gbr-agent pair opens a browser QR — phone camera scans it),
then gbr-agent status must show mailbox_key: set (64 chars).
Board updated . Each row shows the ship date of the version currently live.
| Date | Component | Version | Status | Notes |
|---|---|---|---|---|
| Relay | 0.6.0 |
live | live 0.6.0 · classes on /health · auth enforce · header X-GBR-Key · trace on |
|
| Protocol | gbr/1 |
live | mailbox push / poll / pair / ack | |
| Desktop agent | v0.6.0+ |
live | install default v0.6.0 binaries · source/docs v0.6.1 (inbox watch · claw skill) · snapshot | |
MCP server (gbr-mcp) |
0.2.0 |
live | 13 tools · Claude / Grok CLI / Cursor / Hermes / OpenClaw · notes · INSTALL.md | |
| iOS (+ Watch) | 1.3.0 (17) |
shipping | Aligned 1.3.0 · voice · ANSI · health · relay | |
| Android | 1.3.0 (21) |
shipping | Aligned 1.3.0 · voice · ANSI · health · Play | |
| Website | 2026-08-24 00-40 |
live | v0.6.1 snapshot · MCP 13 tools · FAQ pair /rename / inbox / NemoClaw · https://grokbuildremote.com/ |
https; mailbox ids are charset-validated. Responses are size-capped. Verified on macOS 26.5 and Ubuntu 22.04.control envelope · Google Drive share-link inject. iOS 1.2.8 (15) / Android 1.1.6 (19).support-log → Downloads · phone Copy support log.mailbox_key; Windows Grok Build sessions + EnumWindows fix.0.5.0 auth_mode=enforce: every push/poll/ack requires mailbox key from pair. Old unauthenticated clients get 401.Newest first · from git commits (Agents public repo + MobileApps private repo) and store ships.
/rename · OpenClaw skill · gbr-mcp 13 tools (Claude / Grok CLI / Cursor / Hermes / OpenClaw) · INSTALL.md · pin binaries v0.6.0+
mailbox_key · hard-fail if empty · reported by Josh · 66575b3
· GitHub release
READY_FOR_SALE · build 12
5ba7d18
7aa7260
e9bf925
bc9cf07
X-GBR-Key · 9c0b7d6 / 681d393
05edebf bc61f92
ed57025
292b8ef
0c95306
e3b2877
9a41af3
241ab45
7709f85 19a7994
79f12a5
ddaf324 a80a4fc
c0c065c
37a7531
c168a50
8950e98
66575b3
d68a3db
933f7ca … 15fa4d5
| When | Platform | Version | Where |
|---|---|---|---|
| Desktop agent | v0.5.0 |
GitHub Releases · site install.sh / install.ps1 · service · self-host · health heartbeat | |
| Android | 1.1.6 (19) |
Play production · upload key 78:AE · Copy support log | |
| iOS + Watch | 1.2.8 (15) |
App Store Connect upload · Copy support log | |
| Desktop agent | v0.4.3 |
GitHub · PC browser QR for phone camera pair | |
| Desktop agent | v0.4.1 |
GitHub Releases · mailbox_key pair fix (Josh) | |
| iOS + Watch | 1.2.6 (13) |
App Store · session GUI + sticky pairing | |
| Android | 1.1.1 (14) |
Play public · session GUI | |
| iOS + Watch | 1.2.5 (12) |
App Store · Ready for Distribution / READY_FOR_SALE | |
| Android | 1.0.7 (10) |
Play production track · completed | |
| Relay | 0.5.0 |
Cloudflare Worker live · enforce auth |
gbr/1