Skip to content

Remove classic runners - #261

Merged
danielehrhardt merged 5 commits into
mainfrom
feat/remove-runners
Oct 28, 2026
Merged

danielehrhardt merged 5 commits into
mainfrom
feat/remove-runners

Conversation

@danielehrhardt

Copy link
Copy Markdown
Contributor

Removes the classic Runners feature. Device groups (Settings → Devices) replaced it.

Removed

  • Desktop: the /runners page and route, the sidebar and easy-mode entries ("Other computers"), the command palette item, the Add a runner dialog (network picker, install command), and the runner card, health, update, screen, rename and addresses dialogs.
  • Run on picker: only this Mac and the computers of the device group are listed. "Add runner" and "Manage runners" are gone, and older runners are no longer chat move targets.
  • Core: pairing offers (POST/DELETE /api/runners/pairing, POST /api/runners), runner health/fix/autofix/fix-in-code endpoints, MCP tools runner_health, runner_fix and runner_exec, and the CLI commands godmode runner pair and install --pair.
  • Docs: the runner setup guide; the feature rows now describe device groups.

Kept

  • The link infrastructure, pairing codes and pairWithCode, which device groups are built on.
  • GET/PATCH/DELETE /api/runners/:id, connect, sync, update, proxy and move-here, so existing chats on an older runner can still be followed and moved here.
  • godmode runner serve/status/uninstall/install, which existing runners and the retire flow use.

Leftover runners

Settings → Devices gets an "Older runners" group, shown only when classic runner rows exist. Each row has a Remove button.

Checks

  • pnpm -r typecheck: 0 errors.
  • Mobile tsc --noEmit: 0 errors.
  • vite build: builds.
  • Core tests for remote, devices, runners, cloud, mcp and replica: 432 pass, 0 fail.
  • Full core suite: 5 failures, the same 5 that fail on main.

Runners were superseded by device groups. Drop the /runners route, the sidebar,
easy-mode and command palette entries, the add/health/update/screen/rename
dialogs, and the api client methods and query keys only they used.
New chats and chat moves no longer go to classic runners. Chats that already
live on one keep their pill, offline bar and Move here; their links now open
Settings > Devices.
Shown only while such rows exist, with their state and a Remove button that
uses the existing runner removal.
Remove the pairing offer listener and its endpoints (POST/DELETE
/api/runners/pairing, POST /api/runners), the godmode runner pair command and
install --pair, and GODMODE_PAIR in runner.sh. Device groups keep their
pairing codes, invites and link.

Also drop the classic runner repair surface: the health, health fix, autofix
and fix-in-code endpoints and the runner_health, runner_fix and runner_exec
tools of the autofix chat. Existing runners keep connecting, updating and
serving their chats.
Runners are superseded by device groups; describe what still applies to
runners paired earlier and point to device groups instead.
@danielehrhardt
danielehrhardt merged commit 4b4eb6d into main Oct 28, 2026
8 checks passed
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.

1 participant