Install on macOS
One script does the whole install: it provisions Homebrew, .NET and Python, copies the
agent into your home directory and registers it to start when you log in. It runs as your
normal user — no sudo.
Apple Silicon or Intel?
There is one archive per chip family, and the wrong one gives you a binary that cannot run at all:
filemote-<version>-osx-arm64.tar.gz— Apple Silicon (M1 and later)filemote-<version>-osx-x64.tar.gz— Intel
If you are unsure, open → About This Mac. "Chip: Apple M…" means Apple Silicon; "Processor: Intel" means Intel.
Install it
tar xzf filemote-<version>-osx-arm64.tar.gz
cd filemote-<version>-osx-arm64
xattr -dr com.apple.quarantine .
chmod +x install-macos.sh
./install-macos.sh
The xattr line clears the quarantine flag macOS attaches to downloaded files. It matters
if you extracted with Finder and is harmless if you did not — see
why macOS blocks the download.
Do not run the script with sudo. It is meant to install into your own account, and it
only needs elevation if you point --prefix somewhere your user cannot write.
What the script provisions
- Homebrew, installed from the official script if missing. On Apple Silicon it also
adds Homebrew to your
~/.zprofile. - The .NET 8 runtime, via Homebrew, falling back to Microsoft's install script into
~/.dotnetif the Homebrew packages are unavailable. - Python 3.12, via Homebrew, if nothing newer than 3.10 is present.
- The agent itself, into
~/Applications/Filemote, with the quarantine flag cleared on the installed copy.
Because everything runs as your user, the agent reaches only the files your account can read — and only while you are logged in.
The launchd agent
Unless you passed --no-autostart, the script writes
~/Library/LaunchAgents/com.filemote.agent.plist and loads it, so the agent starts at
every login and restarts itself if it crashes.
launchctl start com.filemote.agent # start it now
launchctl stop com.filemote.agent # stop it
tail -f ~/Library/Logs/Filemote/filemote-agent.log
With --no-autostart there is no launchd entry and no log file, so neither of those
commands applies — you run ~/Applications/Filemote/FilemoteAgent yourself.
Script flags
| Flag | Effect |
|---|---|
--no-ai | Skip the AI service — no Python, no dependencies |
--no-autostart | Install the files but register nothing with launchd |
--prefix /path | Install somewhere other than ~/Applications/Filemote |
--model <id> | Preselect the main AI model |
--device cpu|gpu|auto | AI compute device |
--hf-token <token> | Hugging Face token, for gated models |
--gpu is accepted and ignored on macOS. Apple Silicon gets Metal acceleration anyway,
because the AI engine enables it by itself; Intel Macs run the engine on the CPU either
way.
AI on a Mac
Installing the AI dependencies compiles the llama.cpp engine, which needs the Xcode command-line tools; the script triggers their installation if they are missing. On Apple Silicon the engine is built with Metal acceleration, on Intel it runs on the CPU.
Upgrading from a pre-rebrand install
If the old com.rfm.agent launchd entry is still there, the script unloads and removes it
— otherwise two agents would compete for the same account — and moves your settings and
downloaded models over from ~/Applications/RFM, leaving the old folder for you to delete.
Next step
The agent is installed but not yet connected to your account: link a device to your account.
Updated 2026-07-31