Skip to content

[Bug]: Grok provider ACP startup times out on Linux when Grok emits unsolicited skills-reload JSON-RPC responses #3666

Description

@thanostourik

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/desktop

Steps to reproduce

  1. Install and log in to Grok CLI.
  2. Configure T3 Code Grok provider to use grok.
  3. Start T3 Code provider discovery.
  4. T3 reports: Unavailable - Grok CLI is installed but ACP startup timed out after 15000ms.

Expected behavior

T3 Code should tolerate unrelated or unsolicited JSON-RPC responses/notifications while waiting for the response to its own request IDs, and complete Grok ACP startup.

Actual behavior

On Linux, T3 Code fails Grok provider startup with:

Unavailable - Grok CLI is installed but ACP startup timed out after 15000ms.

The Grok CLI itself works. Running grok agent stdio directly can initialize, authenticate, and create a session successfully outside T3 Code.

During ACP startup, Grok emits unsolicited JSON-RPC response messages like:

{"jsonrpc":"2.0","id":"skills-reload","result":{"result":{"reloaded":0}}}

These messages appear before or around the normal authenticate/session startup flow. T3 Code appears to hang or time out when these messages are present.

Impact

Blocks work completely

Version or commit

T3 Code: AppImage 0.0.28 | Grok CLI: 0.2.82 stable

Environment

Linux Mint 22.3

Logs or stack traces

Screenshots, recordings, or supporting files

No response

Workaround

I created a local wrapper that proxies grok agent stdio and filters only lines containing:

"id":"skills-reload"

With that wrapper configured as the Grok binary, Grok becomes usable inside T3 Code.

Why I think this is the issue:
The wrapper does not change auth, PATH, cwd, or Grok startup. It only removes the skills-reload JSON-RPC response lines from Grok stdout. After that, T3 Code can use Grok normally.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is broken or behaving incorrectly.needs-triageIssue needs maintainer review and initial categorization.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions