GrokBot lose connection to Mac even when caffeinated and in foreground

Where does the bug appear (feature/product)?

Grok Bot

Describe the Bug

I am working on a project that involves Grok Bot controlling my Mac to create videos for a video game using the Godot engine. That requires the bot to launch the game and take videos using the Godot’s built-in movie maker and controlling the Mac mouse cursor like if it were a real human.

Everything works great if I interact with Grok Bot after each iteration inside the Grok Bot app on the same computer. But if I let it go doing its tests and I check on it remotely via phone, after a random time between 10 and 40 minutes it is unable to connect to the Mac despite the following:

  1. The Mac is caffeinated
  2. The display is always on
  3. The Grok Bot app is always in the foreground

I am attaching an excerpt of the local-exec-daemon.log file for your review.

Steps to Reproduce

  1. Give Grok Bot a task to control an app on your computer that requires controlling inputs such as mouse movement and clicks.

  2. Make sure the computer is caffeinated, the display is always on, and Grok Bot is in the foreground.

  3. Step away while Grok Bot is doing its task, and check on it remotely once in a while.

After an interval between 10 and 40 minutes, Grok Bot loses connection to the Mac.

Expected Behavior

I expect Grok Bot to be able to work on the Mac without any connection issues.

Screenshots / Screen Recordings

Operating System

MacOS

Version Information

Grok Bot version 0.68.1
MacOS version 27.0.1

Additional Information

Excerpt from the local-exec-daemon.log file:

[sand-local-exec-daemon] started (pid 34746); serving local exec over the gateway
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[user-computer-provider] poll failed: ConnectError
[user-computer-provider] poll failed: ConnectError
[user-computer-provider] poll failed: ConnectError
[user-computer-provider] poll failed: ConnectError
[user-computer-provider] poll failed: ConnectError
[user-computer-provider] poll failed: ConnectError
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[user-computer-provider] poll failed: ConnectError
[user-computer-provider] poll failed: ConnectError
[user-computer-provider] poll failed: ConnectError
[user-computer-provider] poll failed: ConnectError
[user-computer-provider] poll failed: ConnectError
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[user-computer-provider] poll failed: ConnectError
[user-computer-provider] poll failed: ConnectError
[user-computer-provider] poll failed: ConnectError
[user-computer-provider] poll failed: ConnectError
[user-computer-provider] poll failed: ConnectError
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[sand-local-exec-daemon] received SIGTERM, shutting down
[sand-local-exec-daemon] started (pid 96833); serving local exec over the gateway
[user-computer-provider] watch stream failed: ConnectError (ETIMEDOUT)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[sand-local-exec-daemon] received SIGTERM, shutting down
[sand-local-exec-daemon] started (pid 86922); serving local exec over the gateway
[sand-local-exec-daemon] received SIGTERM, shutting down
[sand-local-exec-daemon] started (pid 87996); serving local exec over the gateway
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] poll failed: DeadlineExceededError (deadline_exceeded)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[sand-local-exec-daemon] received SIGTERM, shutting down
[sand-local-exec-daemon] started (pid 79974); serving local exec over the gateway
[sand-local-exec-daemon] started (pid 36455); serving local exec over the gateway
[sand-local-exec-daemon] started (pid 36462); serving local exec over the gateway
[sand-local-exec-daemon] superseded by the daemon the discovery record names, shutting down
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)
[sand-local-exec-daemon] received SIGTERM, shutting down
[sand-local-exec-daemon] started (pid 11873); serving local exec over the gateway
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[shell-exec] Close event did not fire within 5000ms after exit. This may indicate a background process is holding file descriptors open. Killing detached process group.
[sand-local-exec-daemon] received SIGTERM, shutting down
[sand-local-exec-daemon] started (pid 31760); serving local exec over the gateway
[user-computer-provider] watch stream failed: ConnectError (ECONNRESET)

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey @fablau, thanks for the log. This turns out to be the same “away” behavior as the other thread: once your bot clicks into Godot, Grok Bot is no longer the active window, so after about 10 minutes the app disconnected the Mac.

Version 0.70.2 changes this so your Mac stays connected while you’re away. Update from Settings > Updates (Check for Updates, then Restart to Update). If it doesn’t relaunch on its own, quit with Cmd+Q and reopen.

If it still drops on 0.70.2, let me know roughly when (with your timezone) and I’ll take a look.

Thanks, I’ll let you know!

Hey Mohit, tried to reach any moderator.. can you dm me?