Skip to content

Grok provider

Grok ships a coding agent CLI, which is the only qualification this list has. A provider is the identity of a CLI to point at, so the planned set is simply the CLIs people are already running from an editor or a terminal to write code.

The order they are attached in is decided by what each one would teach the contract, not by preference between them.

That it exists and is worth attaching. Nothing beyond that has been established here.

Everything else. Not yet investigated:

  • The command name and how a conversation is identified.
  • Which flags make it a controllable two-way stream.
  • Whether its output is NDJSON with a type discriminator, which would let EventParser work unchanged.
  • Its permission vocabulary, and whether PermissionMode can express it.
  • Whether it has auth and mcp subcommands, and in what shape.

No inference is offered here in place of investigation. When this CLI is attached, the facts will come from running it.

AbstractAdapter is five members and stays that way until a second adapter forces the question. Whichever CLI arrives second is the one that decides the shape — and the ones after it are what confirm the shape was not fitted to a single pair.

The porting order does not change per provider:

  1. Port the adapter accurately, matching the CLI’s real behaviour.
  2. Note every place the existing contract had to be worked around.
  3. Extract the common shape.
  4. Only then widen AbstractAdapter.