--- name: gururmm-command-timeout-seconds description: GuruRMM agent command dispatch honors timeout_seconds, NOT timeout — long jobs die at ~300s otherwise metadata: type: reference --- When dispatching a command to a GuruRMM agent (`POST {RMM}/api/agents/{id}/command`), the execution timeout is controlled by **`timeout_seconds`**, not `timeout`. Passing only `timeout` leaves the agent at its default cap (~300s): long-running commands get killed and often surface as a zombie `status: running` with empty stdout that never terminates. For multi-minute/multi-hour work (large uploads, big enumerations) set `timeout_seconds` high (e.g. 10800) — send both fields to be safe. Poll `GET {RMM}/api/commands/{command_id}` for `status` in {completed, failed, cancelled}; cancel a stuck one with `POST {RMM}/api/commands/{id}/cancel`. Cost the fleet a full day of failed Birth Biologic SharePoint uploads (Mac session) before this was spotted. See [[reference_sharepoint_graph_large_file_upload]]. Auth helper: `.claude/scripts/rmm-auth.sh` (internal `172.16.3.30:3001`).