Skip to content

feat(desktop): register Grok Build as native ACP runtime + onboarding harness#2546

Open
Bartok9 wants to merge 2 commits into
block:mainfrom
Bartok9:bartok9/grok-build-acp-runtime
Open

feat(desktop): register Grok Build as native ACP runtime + onboarding harness#2546
Bartok9 wants to merge 2 commits into
block:mainfrom
Bartok9:bartok9/grok-build-acp-runtime

Conversation

@Bartok9

@Bartok9 Bartok9 commented Jul 23, 2026

Copy link
Copy Markdown

Summary

Register Grok Build as a first-class ACP harness and show it on Set up your agent harnesses next to Claude Code and Codex.

Closes #2347. Companion: Cursor harness #2536 / #2535.

Why

Grok Build already speaks ACP natively:

grok agent stdio
# managed default:
grok agent --always-approve stdio

Without catalog registration, Desktop cannot discover, install-hint, or process-sweep Grok the way it does other runtimes. Onboarding also hard-filters visible harnesses (ONBOARDING_RUNTIME_ORDER).

What changed

  • KNOWN_ACP_RUNTIMES: grok entry (commands: grok, aliases grok-build / grokbuild)
  • Default args: agent --always-approve stdio (avoids TTY tool-permission blocks for managed agents)
  • PATH discovery includes ~/.grok/bin
  • Skills: .grok/skills
  • Auth: login_hint for grok login / XAI_API_KEY (no stable auth status probe in current CLI — auth_probe_args: None, same posture class as Goose)
  • Onboarding visibility: claude, codex, grok
  • agentReadiness treats Grok like other CLI harnesses when available
  • Process-sweep binary name grok
  • Unit tests + buzz-acp README

Non-claims

Test plan

  • cargo test --lib normalizes_grok
  • cargo test --lib resolves_grok
  • cargo test --lib grok_runtime
  • node --test onboardingRuntimeSelection.test.mjs
  • Desktop: harness page shows Grok Install; after install + grok login / XAI_API_KEY, agent spawn uses grok agent --always-approve stdio

Reviewer notes

  • --always-approve is intentional for managed agents (Buzz spawns without a TTY). Users who want interactive approval can override agent args.
  • Onboarding allowlist remains product-scoped (not goose/buzz-agent).

Signed-off-by: Bartok9 danielrpike9@gmail.com

@Bartok9

Bartok9 commented Jul 23, 2026

Copy link
Copy Markdown
Author

Coordination note with Cursor PR #2536

Grok Build installs both grok and agent PATH shims (~/.grok/bin/agent, often linked as ~/.local/bin/agent).

Cursor’s PR intentionally does not treat basename agent as Cursor — it prefers cursor-agent. Please keep these PRs consistent if either is revised:

  • Grok: spawn via grok + args agent --always-approve stdio
  • Cursor: spawn via cursor-agent + args acp

@Bartok9
Bartok9 force-pushed the bartok9/grok-build-acp-runtime branch from daebcf4 to e567b74 Compare July 23, 2026 16:36
Bartok9 added 2 commits July 23, 2026 13:24
… harness

Grok Build already speaks ACP over stdio (`grok agent stdio`) but was
missing from KNOWN_ACP_RUNTIMES and the onboarding harness page.

- Add grok to catalog (install, ~/.grok/bin PATH, .grok/skills, login hint)
- Default args: agent --always-approve stdio for managed/headless agents
- Show Grok Build on onboarding next to Claude Code and Codex
- Tests + buzz-acp README

Closes block#2347.

Signed-off-by: Bartok9 <danielrpike9@gmail.com>
Maintainer guidance: registry uses only `grok` + agent/stdio args; never
claim bare `agent` so Cursor can disambiguate the shared shim. Unit test
locks that contract. README note for operators.

Signed-off-by: Bartok9 <danielrpike9@gmail.com>
@Bartok9
Bartok9 force-pushed the bartok9/grok-build-acp-runtime branch from e567b74 to ea75f3e Compare July 23, 2026 17:25
@Bartok9

Bartok9 commented Jul 23, 2026

Copy link
Copy Markdown
Author

Polish pass (rebased on upstream/main)

HEAD ea75f3e6 — rebase + maintainer docs/tests.

Differentiation vs Cursor (#2536) and other Grok PRs

  • Binary: registry commands: &["grok"] only — ACP via args agent --always-approve stdio.
  • Never claims bare PATH shim agent (that disambiguation stays on Cursor’s own entry).
  • Onboarding: ONBOARDING_RUNTIME_ORDER includes grok.
  • Docs/tests: discovery comment + README maintainer note + grok_does_not_claim_bare_agent_path_shim unit test.

Test plan

  • Discovery unit tests for grok args normalization + bare-agent non-claim (run in CI with desktop mesh-llm as configured by repo).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(agents): add Grok Build as a first-class ACP runtime

1 participant