7. Install AI tools
- Package manager
- Homebrew
- Runtimes
- Node, Python (uv)
- AI tools
- Cursor, Cursor worker, Claude, Claude Code
Install everything as the account that will run your agents. Official installers change occasionally — if a command here fails, check the linked page for the current one.
Homebrew
Section titled “Homebrew”Homebrew installs developer tools and keeps them updated. It also installs Apple’s Command Line Tools (git, compilers) if they’re missing.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"On Apple silicon, Homebrew lives in /opt/homebrew. Add it to your shell as the installer tells you:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofileeval "$(/opt/homebrew/bin/brew shellenv)"brew doctorUseful basics for a server:
brew install git tmux jq ripgreptmux lets you start a long-running terminal session over SSH, disconnect, and reattach later — ideal
for interactive agents.
Node.js
Section titled “Node.js”Many AI tools and MCP servers need Node.
brew install nodenode --version && npm --versionIf your projects need different Node versions, use a version manager such as fnm
(brew install fnm) instead, and follow its shell-setup instructions.
Python with uv
Section titled “Python with uv”Leave the system Python alone. uv installs Python versions and manages virtual environments quickly:
brew install uvuv python install 3.13uv venv && source .venv/bin/activate # inside a project folderCursor
Section titled “Cursor”Install the Cursor editor from cursor.com/download (or
brew install --cask cursor), sign in, and add it to Login Items if you want it open after a restart.
Cursor CLI
Section titled “Cursor CLI”The Cursor CLI (agent) runs Cursor’s agent in a terminal and powers self-hosted workers:
curl https://cursor.com/install -fsS | bashagent --versionagent login # opens a browser to sign in; do this once while at the desktop or over Screen SharingThe installer puts agent in ~/.local/bin; make sure that’s on your PATH (the installer tells you if
it isn’t).
A Cursor self-hosted worker
Section titled “A Cursor self-hosted worker”A self-hosted worker lets Cursor’s Cloud Agents run their tool calls — terminal commands, file edits, browser actions — on your Mac mini, while the agent loop runs in Cursor’s cloud. The worker makes an outbound HTTPS connection to Cursor; you don’t open any ports.
Start a personal worker (“My Machines”) in the project folder it should work in:
cd ~/code/my-projectagent worker start --name "your-mac-mini"- No browser on the Mac? Create a personal API key in Cursor’s dashboard and pass it:
agent worker --api-key "$CURSOR_API_KEY" --name "your-mac-mini" start. - Team pools (a shared fleet on an Enterprise plan) use a service-account key and
agent worker --pool start, after an admin enables self-hosted workers. - Computer use:
agent worker --computer-use --name "your-mac-mini" startlets agents click, type and take screenshots. The first start installs a Cursor Computer Use helper app; grant that app Accessibility and Screen & System Audio Recording in System Settings → Privacy & Security. - Keep it running with a LaunchAgent — the template and
install-launchagent.shexamples do exactly this. - Keep the CLI current with
agent update.
See Cursor’s docs on self-hosted machines for plan requirements and the full flag reference.
Claude
Section titled “Claude”Claude desktop app: download from claude.ai/download (or
brew install --cask claude), sign in, and add it to Login Items.
Claude Code (the command-line coding agent) — the native installer needs no Node and updates itself:
curl -fsSL https://claude.ai/install.sh | bashclaude --versionclaude # first run signs you inFor long sessions over SSH, run it inside tmux so it survives disconnects:
tmux new -s claude # start a session, then run: cd ~/code/my-project && claude# detach with Ctrl-b d; later reattach with:tmux attach -t claudeOptional extras
Section titled “Optional extras”- Containers: Docker Desktop or OrbStack, if your projects use containers. Both can start at login.
- Local models: Ollama or LM Studio run open-weight models on the Mac’s GPU. Size memory accordingly (see hardware).
- GitHub CLI:
brew install ghthengh auth login, for agents that open pull requests.
Record what you installed
Section titled “Record what you installed”A Brewfile makes rebuilding the server — or a second one — a single command:
brew bundle dump --file ~/Brewfile --force # savebrew bundle install --file ~/Brewfile # restore on a new MacCheck versions
Section titled “Check versions”brew --version; git --version; node --version; python3 --version; uv --versionagent --version; claude --version