SwarmUp Download

SwarmUp rename: name inventory

Agent Ops becomes SwarmUp, with the domain swarmup.tech (AO-0195). This page lists every class of old name in the engine repo, how often it occurs, and the final new name. The other AO-0195 tasks (code rename, migrations, repo rename, website) work from the name table.

Status: final. Dawid accepted every row of the name table on 2026-11-09 (AO-0198, ID#01M703BENW97K8GEJ8E9DVD44S: "ok, go"). The Final column is the name each AO-0195 task uses. Review found two AGENT_OPS_* desktop variables after the accept; row 11 maps them under the accepted SWARMUP_* prefix.

How the counts were made

Occurrence classes

Product strings

Pattern Outside the store With the store Where
Agent Ops 54 / 140 81 / 174 UI text, notifications, tray menu, installer, prompts, docs, README
agent-ops 111 / 408 472 / 1,168 package names, skill name, paths, repo URLs, project name, storage keys
AgentOps 10 / 15 20 / 25 installer file name AgentOps-Setup.exe, PowerShell type namespace in path.ps1
agentops 1 / 1 1 / 1 app id ai.dawid.agentops
agentOps 16 / 47 - preload bridge and package banner; breakdown below

agentOps breaks down as follows:

Examples:

CLI, daemon and npm packages

Item Now Count (outside the store)
CLI binary ops (packages/cli/package.json bin) 87 files / 517 backticked mentions
Daemon binary opsd (packages/supervisor/package.json bin) 149 / 2,018
Root package agent-ops (private) 1
Workspace packages @agent-ops/core, @agent-ops/cli, @agent-ops/supervisor, @agent-ops/desktop 47 / 76 imports and refs
Staged app manifest name: agent-ops, productName: Agent Ops, author: agent-ops contributors (packages/desktop/scripts/package.mjs:74) 1
Installed shims ops.cmd and the Git Bash ops in resources/bin (package.mjs:152-163) 1
Engine detection pkg.name === '@agent-ops/supervisor' (packages/supervisor/src/merge.ts:99) 1

All packages are private: true, so the npm scope needs no registration.

Folders, files and paths

Item Now Read in
Store folder .agent-ops/ (ROOT_DIR_NAME) packages/core/src/config.ts:79, packages/supervisor/src/checkout.ts:7, merge.ts:240 (exclude glob), cli.ts:153
Store format key agent_ops: 2 in .agent-ops/config.yml packages/core/src/config.ts:20,84,97,275
User config %APPDATA%\agent-ops\config.yml, else $XDG_CONFIG_HOME/agent-ops/config.yml packages/core/src/config.ts:108-113
opsd state dir ~/.agent-ops/opsd (run records, logs, API token) packages/supervisor/src/config.ts:503
Master Repo user config key master; UI placeholder C:\dev\agent-ops-master; label "Agent Ops Master Repo" packages/core/src/mirror.ts:1, packages/desktop/ui/src/views/Settings.tsx:910,924
Electron user data %APPDATA%\Agent Ops (from productName; holds the relaunch marker) packages/desktop/src/main.ts:629,1242
Install folder %LOCALAPPDATA%\Programs\agent-ops (NSIS per-user, from the staged name) electron-builder
Registry key HKCU\Software\Agent Ops (PathBefore) packages/desktop/build/path.ps1:18, installer.nsh:5
Export guard .agent-ops/** export-ignore .gitattributes, scripts/export-public.mjs:47-94
Project and task prefix project agent-ops, ids AO-nnnn .agent-ops/config.yml, task ids

Environment variables

Every OPS_* variable, with where code reads or sets it (tests and task history left out).

Variable Read or set in Notes
OPS_AGENT core/src/workspace.ts:113,505,518, core/src/adopt.ts:54,680, cli/src/cli.ts:684,1713, supervisor/src/supervisor.ts:780-785,1842,3891, supervisor/src/runtimes.ts:385,492, scripts Agent id; named in prompts and the skill
OPS_ROOT core/src/workspace.ts:115,511, core/src/adopt.ts:678 One data root
OPS_ROOTS core/src/config.ts:290-311, core/src/workspace.ts:527, supervisor/src/supervisor.ts:1785,1848,3891 Root list
OPS_ROOTS_ONLY core/src/config.ts:295 Read only the listed roots
OPS_CONFIG core/src/config.ts:59,109, scripts User config path
OPS_STATE_DIR supervisor/src/config.ts:503, scripts opsd state dir
OPS_RUN core/src/workspace.ts:121,508,2857, cli/src/cli.ts:192,1708, supervisor/src/supervisor.ts:786,1843 Run id
OPS_PARENT_RUN core/src/workspace.ts:125,509, cli/src/cli.ts:194, supervisor/src/supervisor.ts:787,1847 Helper runs
OPS_RUN_TOKEN supervisor/src/api.ts:74,165, daemon.ts:236-245,356, admin.ts:386, runs.ts:81, supervisor.ts:788,1844 Codex drops variables whose names contain TOKEN; the new name keeps that behavior and its workaround (kb note codex-drops-env-vars-whose-names-contain-key-secret-or-token)
OPS_RUN_STATE_DIR cli/src/cli.ts:193, daemon.ts:244,357, admin.ts:387, supervisor.ts:789,1846 Pairs with the token
OPS_DAEMON_ENTRY supervisor/src/daemon.ts:475-479, runenv.ts:6,20, desktop/scripts/package.mjs:34 Installed opsd entry
OPS_BIN_DIR supervisor/src/runenv.ts:9,21, desktop/src/main.ts:111, desktop/scripts/package.mjs:151,163 App bin folder put first on PATH
OPS_CWD desktop/src/main.ts:114,851, scripts Desktop working folder
OPS_JOB_COMMAND supervisor/src/merge.ts:443,500,577 Merge job command
OPS_LAUNCH_PIPE supervisor/src/proc.ts:96,155 Windows launch pipe
OPS_PROBE supervisor/test/proc.test.ts:35,69,71,84 Test-only probe for %VAR% and !VAR! expansion in the Windows launch path
OPS_E2E_CODEX supervisor/test/codex-sandbox.test.ts:11,13,79; also 2 task-history files in the store Opt-in end-to-end Codex test
OPS_APP_PEM, OPS_APP_AUTH_FILE kb note only Not read by code

Outside the store: 69 files / 386 hits; with the store: 146 / 562.

Two desktop variables carry the old product name instead of the OPS_ prefix. Outside the store they occur in 7 files / 13 hits.

Variable Read or set in Notes
AGENT_OPS_SCREENSHOTS read in desktop/src/main.ts:298,760,1255, scripts/promo/capture-main.mjs:12; set in scripts/desktop-smoke.mjs:151, scripts/promo-video.mjs:333, scripts/readme-media.mjs:773 Output folder; turns on offscreen screenshot mode. Documented in docs/desktop.md:231 and CHANGELOG.md:333
AGENT_OPS_VIEWS read in desktop/src/main.ts:763; set in scripts/promo-video.mjs:334, scripts/readme-media.mjs:773 Views to capture; documented in docs/desktop.md:232

Desktop app, installer and updates

Item Now File
App id ai.dawid.agentops packages/desktop/electron-builder.yml
Product name Agent Ops (also the exe name Agent Ops.exe, used in scripts/desktop-smoke.mjs:133 and the shims) electron-builder.yml, package.mjs:75
Shortcut name Agent Ops electron-builder.yml
Installer file AgentOps-Setup.exe (README links releases/latest/download/AgentOps-Setup.exe) electron-builder.yml
Update feed GitHub provider, dawid-ai/agent-ops, releaseType: release electron-builder.yml publish
Protocol handlers none (no setAsDefaultProtocolClient, no protocols in the builder config) -
Window title Agent Ops packages/desktop/ui/index.html:10
Release title Agent Ops $tag .github/workflows/release.yml:68

Repos, skill, hooks and URLs

Item Now Count or file
Public repo dawid-ai/agent-ops 6 files / 21 hits outside the store: package.json repository, README, electron-builder.yml, .github/workflows/docs.yml:23, docs
Private engine repo Skovern/agent-ops (origin), local checkout C:\dev\agent-ops git remote, release skill
Skill agent-ops in skills/, .claude/skills/, .agents/skills/; user copies in ~/.claude/skills/agent-ops and the Codex equivalent packages/supervisor/src/doctor.ts:85-165, package.mjs:67-68
Hook command ops sync --session-end (SessionEnd and PreCompact) packages/cli/src/hooks.ts:5, .claude/settings.json, every repo where ops hooks install ran
Docs site dawid-ai.github.io/agent-ops README, docs/launch/0.2.0-beta.1.md
Release assets github.com/dawid-ai/agent-ops/releases/... (promo video, installer) README
Link checker UA agent-ops-docs-link-check scripts/check-docs-links.mjs:95

CLI name clash check

Checked on 2026-11-09 against npm, Homebrew formulae and casks, PyPI, crates.io and Debian sources.

Name npm Homebrew PyPI crates.io Debian / Ubuntu Verdict
swarm taken (data sync lib) free taken (game) taken swarm-cluster (Debian sid and forky) installs /usr/bin/swarm (bioinformatics, also in Bioconda) Clashes on apt and conda; also crowded by AI "swarm" tools (swarmctl on npm is an AI agent swarm CLI)
swarmd free free free taken (26k downloads) free Weak clash through cargo install
swarmup free free free free free Clear everywhere
swarmupd free free free free free Clear everywhere
sup taken free taken taken taken Clashes

Not checked: Winget and Scoop (no simple name lookup). The app installs per user with its own bin folder, so a clash there would only matter through PATH order.

Name table

# Class Now Final Why
1 Product name Agent Ops SwarmUp The brand, as on swarmup.tech
2 Slug (paths, keys, pipe) agent-ops swarmup One lowercase word; no hyphen to get wrong
3 CLI ops swarmup, with ops kept as an alias that prints a one-line notice until 0.4 swarm clashes on apt and conda; the alias keeps hooks, prompts and habits working through the switch
4 Daemon opsd swarmupd Matches the CLI; swarmd is taken on crates.io
5 npm packages agent-ops, @agent-ops/* swarmup, @swarmup/core, @swarmup/cli, @swarmup/supervisor, @swarmup/desktop Private packages, no registration needed
6 Store folder .agent-ops/ .swarmup/; readers fall back to .agent-ops/ until 0.4 Matches the slug; the fallback lets unmigrated repos keep working
7 Store format key agent_ops: 2 swarmup: 2; agent_ops: 2 still read Same reason
8 User config %APPDATA%\agent-ops\config.yml, ~/.config/agent-ops/config.yml %APPDATA%\swarmup\config.yml, ~/.config/swarmup/config.yml; copied from the old path on first run Same reason
9 Daemon state dir ~/.agent-ops/opsd ~/.swarmup/swarmupd; copied on first run Same reason
10 Master Repo "Agent Ops Master Repo", placeholder C:\dev\agent-ops-master "SwarmUp Master Repo", placeholder C:\dev\swarmup-master; existing master paths untouched Only the label and the hint change; moving a repo is the owner's call
11 Env prefix OPS_* SWARMUP_* (for example SWARMUP_AGENT, SWARMUP_RUN_TOKEN); AGENT_OPS_SCREENSHOTS → SWARMUP_SCREENSHOTS, AGENT_OPS_VIEWS → SWARMUP_VIEWS; old names still read until 0.4, and runs get both Agents already in flight and old hooks keep working
12 App id ai.dawid.agentops tech.swarmup.app; the new installer removes the old install Matches the domain. A new app id means a new install, so the migration task must uninstall the old one; there are few beta installs today, so now is the cheapest time
13 Product name, exe, shortcut Agent Ops, Agent Ops.exe SwarmUp, SwarmUp.exe Follows row 1
14 Installer file AgentOps-Setup.exe SwarmUp-Setup.exe Follows row 1
15 Install folder, registry Programs\agent-ops, HKCU\Software\Agent Ops Programs\swarmup, HKCU\Software\SwarmUp Follows rows 1 and 2
16 Update feed GitHub dawid-ai/agent-ops GitHub dawid-ai/swarmup; the last Agent Ops release keeps pointing at the old name, which GitHub redirects after a rename Old installs still find the update; the migration task confirms this with a test release before the switch
17 Protocol handler none none now; swarmup:// if one is added later Nothing to rename
18 Preload bridge, storage keys window.agentOps, agent-ops.* window.swarmup, swarmup.*, banner names __swarmupRequire, __swarmupPath; saved views and ideas copied once Keeps saved views
19 Public repo dawid-ai/agent-ops dawid-ai/swarmup (GitHub rename, not a new repo) Keeps stars, issues, releases and redirects
20 Private engine repo Skovern/agent-ops, C:\dev\agent-ops Skovern/swarmup; the local checkout path stays until a quiet moment Moving the checkout breaks running worktrees and opsd config
21 Skill agent-ops swarmup; ops doctor flags a leftover agent-ops user copy The skill name is what agents see in prompts
22 Hook command ops sync --session-end swarmup sync --session-end; hooks install replaces the old entry The alias in row 3 covers repos not yet updated
23 Docs site dawid-ai.github.io/agent-ops swarmup.tech/docs (Pages with the custom domain) One domain for site and docs
24 Run prompts and UI text "Agent Ops v2" "SwarmUp" The version number is in the app; the prompt does not need it
25 Project and task ids project agent-ops, ids AO-nnnn project swarmup through project_aliases (agent-ops: swarmup); ids keep AO Ids are permanent references in commits, branches and events
26 Task history agent-ops, ops, opsd, OPS_* in 7,607 store files left as written Events are history; rewriting them changes ids and breaks sync
27 Changelog released entries in CHANGELOG.md left as written; unreleased changelog.d/ fragments use the new names Released notes describe what shipped

What the code rename leaves

AO-0199 renamed the product, packages, CLI, daemon, desktop name, skill, hooks, docs, prompts and log and UI text. Old names that still match rg -i "agent.?ops|\bopsd?\b" fall into these classes; everything else is history (this page, CHANGELOG.md, docs/proposals/, docs/launch/).

Class Examples Why it stays
Aliases until 0.4 ops and opsd bins (cli/src/ops.ts, supervisor/src/opsd.ts), ops.cmd shims, Bash(ops *), OPS_* Old hooks, scripts and runs keep working; each alias prints a notice on stderr
On-disk data (AO-0200) .agent-ops/ store folder, agent_ops: 2, .ops/, user config path, ~/.agent-ops/opsd, opsd.log Moving data is the migration task
Desktop install (AO-0200) app id, update feed repo: agent-ops, staged name: agent-ops (install folder), HKCU\Software\Agent Ops Changing them without the migration orphans the install, its PATH entry and its updates
Desktop state (AO-0200) user data folder %APPDATA%\Agent Ops (pinned in main.ts), sign-in entry name, agent-ops.* storage keys Saved views, the relaunch marker and the sign-in entry live there; --ops-cwd is in that registry entry
User config key opsd opsd.agents, opsd.merge.<root>, the opsd section in docs and errors A key in the user config file, which AO-0200 migrates with the file
Actor ids opsd:merge, opsd:router, runtimeOf(actor) === 'opsd' Permanent ids in events, like task ids (row 25)
Store commit prefix ops: N change(s) Sync finds the store branch by that prefix in existing history
Repo and site URLs dawid-ai/agent-ops, dawid-ai.github.io/agent-ops, C:\dev\agent-ops They change with the repo rename and the website tasks
Other meanings of "ops" ops as a count of file system calls (search-index.ts), test-local names, the ops role colour, promo.js Not the product name

Out of scope here