1.1.1RoachNet for macOS
On this page
- What's new
- The new design
- Models
- Names and settings
- Security
- A malformed catalog download could delete RoachNet's storage folder
- RoachClaw Org: who may give a role or change a membership
- RoachClaw Org: a damaged list of people is kept
- Build paths
- Setup: recovering from an interrupted upgrade
- Opening the installer
- Upgrade, roll back or remove
- Known issues
- Support, license and attribution
- How this release was built
1.1.1's installer is withdrawn: 1.1.2 fixes three security problems rated High that 1.1.1 has, and 1.1.3 fixes more. Use the current release; it installs over 1.1.1 and keeps your data.
RoachNet 1.1.1 brings RoachNet's new design to the Mac app and Setup: new themes, type, layouts and wording, a models library in Setup and Settings, and a new guided tour. It also fixes a download problem that could delete RoachNet's storage folder, how Setup recovers from an upgrade that was cut off, and two problems in RoachClaw Org.
What's new
The new design
- New colour roles, the Anybody, Schibsted Grotesk and JetBrains Mono typefaces (they ship with the app), a field drawn behind the window, and the new roach and wordmark.
- Nine new themes. Kernel Night is the dark default and Daylight the light one; Spectral and Bone are the defaults from 24 October to 1 November. The earlier themes, and the Halloween Collection and Retro Terminals packs, are rebuilt on the new colour roles.
- The theme switch moved from the top of the window to Settings › Appearance.
- Each pane in the sidebar has a drawn glyph, and the open pane's light is on. Home opens with Ask RoachClaw, the command bar and the Mac's vital signs. Settings has a new sidebar, and each switch in General says what it does.
- Setup gets the same look: the RoachNet lockup, its steps in a sidebar, a light for the setup service, and a one-row footer.
- The guided tour is a new 38-second video of the new app.
Models
- Settings › Models lists the models in RoachNet's library, with how well each fits this Mac's memory, what it's for, who publishes it and its license. Download a model, stop a download, or make a model the default from there.
- Setup's RoachClaw step lists the models that fit this Mac, best fit first. Pick one to start with and tick any others; RoachNet downloads them when it first opens, with progress in Settings › Models.
- The local API gains
GET /api/roachclaw/models,POST /api/roachclaw/models/pullandPOST /api/roachclaw/models/stop, behind the same loopback checks as the other routes. The route browser has them.
Names and settings
- Easy Setup is now Guided setup, AI Control is AI providers, and Model Store is the Model store.
- "Open at login" is now Open after setup, which is what it does: it opens RoachNet when Setup finishes. RoachNet doesn't add a login item.
- The "Install dependencies" switch is gone from Settings › General; nothing read it. Older settings files still load.
- Until the Mac app saves a theme, the iOS companion gets Kernel Night instead of Signal. RoachNet iOS 0.3.1 works with 1.1.1 unchanged.
Security
A malformed catalog download could delete RoachNet's storage folder
- Severity: High: potential unintended local data deletion through malformed download descriptors.
- Affected: RoachNet 1.0.6, 1.0.7 and 1.1.0 for macOS. Not affected: 1.0.5 and earlier, and the iOS companion.
- What happened: when an entry in RoachNet's download catalog gave a file name that refers to a folder, RoachNet treated that folder as the download's file. When the download then failed, or when RoachNet moved the finished file into place, it removed that folder and everything in it. For a knowledge (ZIM) download, that was the whole storage folder, and deleted files didn't go to the Trash.
- What it took: in 1.0.7 and 1.1.0, the download had to come from RoachNet's catalog address and the catalog entry had to carry such a name; RoachNet's published catalog doesn't carry one. 1.0.6 followed download descriptors from any web address, so starting a download from an untrusted link was enough.
- What changed: such a name gets a generated one, a download always lands directly inside its destination folder, cleanup removes only files, never a folder, and a failed, interrupted, cancelled or mismatched download leaves an existing file at its path in place.
- Related safeguards: a link at a download's partial file is removed, never written through; one download writes a given file at a time; a download can't take another download's partial-file or resume-marker name; and once a new file is taking an old one's place, a cancel is refused.
RoachClaw Org: who may give a role or change a membership
- Severity: Medium. Low where companies are managed only in the RoachNet app. Affected: 1.1.0, the first release with RoachClaw Org.
- A company member allowed to manage permissions, invite people or approve joins wasn't limited by its own role. Each change is now checked against the company as it is when the change is saved: a member changes only memberships ranked below its own role and gives only roles below it, invites offer only a role below their creator's, and a company always keeps an active owner who is a person.
- After you update, review each company's members and their roles and permissions: 1.1.1 checks every change from now on, but doesn't undo changes made under 1.1.0.
RoachClaw Org: a damaged list of people is kept
- When
instance.json, Org's list of people and their paired devices, couldn't be read at startup, 1.1.0 started with an empty list and saved it over the file. Now the file is left as it is, the log andGET /api/org/healthsay why, and changes to people and device links are refused until the file is fixed. - If Org reports it: quit RoachNet, then restore
~/RoachNet/storage/RoachClaw/org/instance.jsonfrom a backup, or move it out of that folder to start the list of people again.
Build paths
- 1.1.0's programs carried folder paths from the Mac that built them, in the linker's debug map (no user name, file contents or secrets). 1.1.1's release build strips the debug map before signing, and the release gate refuses an app that still names the build machine's folders.
Setup: recovering from an interrupted upgrade
- In 1.0.6, 1.0.7 and 1.1.0, an upgrade cut off after the old install was moved aside could bring RoachNet back empty, with your data left in
~/RoachNet.backup-<time>. No data was deleted. - 1.1.1's Setup looks at what it finds before it writes anything in
~/RoachNet, puts back the newest of its own backups when the install is missing, and stops, saying what it found and what to do, when a backup can't be put back or read. - Two Setups no longer run at once: the second one stops and says why. When Setup can't use its lock file, it stops before it changes anything.
- With Homebrew, when Setup stops this way, Homebrew keeps the new Setup app instead of putting the previous version back. Do what Setup's message says, then run
brew reinstall --cask roachnet. - For scripted installs,
roachnet-runtime --installexits with 75 when another Setup is running or Setup can't use its lock file, and with 65 when Setup stopped before installing. Run it as yourself, not withsudo.
Opening the installer
This build is ad-hoc signed and not Apple-notarized, like 1.1.0. On first launch macOS says RoachNet Setup can't be verified: open System Settings › Privacy & Security and choose Open Anyway for RoachNet Setup. Verify the download first:
shasum -a 256 -c RoachNet-Setup-macOS.dmg.sha256Homebrew: brew tap --force RoachWares/roachnet && brew install --cask roachnet. Already installed with Homebrew: brew upgrade --cask roachnet.
Upgrade, roll back or remove
- Before you update: keep a current backup of
~/RoachNet/storage(Time Machine works). - Upgrade: quit RoachNet and run Setup over the existing install.
~/RoachNet/storage(Vault, settings, models, Org) is kept. - Roll back: 1.1.0 and 1.1.1 use the same storage format, but going back to 1.1.0 brings back every problem fixed here.
- If RoachNet opened empty after an earlier upgrade: your data is still in a
~/RoachNet.backup-<time>folder beside the install. Get help to move it back. - Remove: quit RoachNet, then remove
~/RoachNet/appand~/RoachNet/runtime. Keep~/RoachNet/storageto keep your data.
Known issues
| Limitation | Impact | Workaround |
|---|---|---|
| Ad-hoc signed, no Developer ID or notarization. | Gatekeeper blocks the first launch of RoachNet Setup. | Open Anyway in Privacy & Security, once. |
| RoachNet Cluster was tested with two RoachNet runtimes on one Mac, not yet across two physical Macs. | Splitting across real Macs may still turn up network issues. | Report them on GitHub; a model that fits one Mac never needs the cluster. |
| On qwen3 8B, RoachInference evaluates prompts at about 68% of Ollama's speed and decodes at about 85%. Speculative decoding isn't in 1.1. | Long prompts on large models take longer than in Ollama. | ROACHNET_INFERENCE_ENGINE=ollama uses an Ollama you installed yourself. |
| RoachInference reads Llama, Mistral, Qwen2 and Qwen3 models. Other architectures (Gemma, Phi or qwen3.5, for example) don't load. | The model server says the architecture isn't supported yet. | Use a supported model, or an Ollama you installed yourself. |
| Gemini CLI, OpenCode and Cursor CLI agents were built to each tool's documented interface; only Claude Code and Codex were run live. | A CLI update could change what those three report. | Tell us. |
| Plan models need the official Claude Code or Codex CLI, installed and signed in. | claude: and codex: models are listed only when the CLI is there. |
Install and sign in to the CLI, then turn plans on in Settings › RoachClaw › Subscriptions. |
| Scripts that call the local API directly (curl, shortcuts) need a token when RoachNet.app started the runtime. | They get 401. | Make a RoachClaw API token in Settings › RoachClaw and send it as Authorization: Bearer …. |
| The download safeguards cover the names and links RoachNet is given. | They don't defend against another program running as you that changes files in the storage folder while a download runs. | Keep a backup of ~/RoachNet/storage. |
| Network features (catalogs, maps, archives, updates, model downloads, remote providers) need a connection. | They can't refresh or download offline. | Download content and local models ahead of time. |
| Windows and Linux installers are not shipped. | — | Use an Apple Silicon Mac. |
Support, license and attribution
- Help: Get help
- Releases: every RoachNet release on GitHub
- License: LICENSE · Typefaces: SIL Open Font License texts
How this release was built
These notes match the tagged source and the test results recorded with it. RoachWares built and tested the DMG by hand on its release Mac rather than in hosted CI, because a hosted build needs Apple Developer ID and notarization credentials, and RoachNet doesn't have those yet.