AI Navigate

I Gave My AI Agent Its Own Computer. Here's Every Lesson From 72 Hours of Migration.

Dev.to / 3/21/2026

📰 NewsDeveloper Stack & InfrastructureTools & Practical Usage

Key Points

  • Migrating the AI agent from the MacBook to a dedicated Mac Mini took 72 hours and exposed numerous headless-operation pitfalls."- Headless operation revealed that display capture is mandatory on macOS, requiring a virtual display (BetterDisplay) to enable screenshots and UI tasks. "- Networking became complex quickly, with multiple IPs and SSH constraints; using Tailscale created a usable mesh for remote access. "- Running the agent under a separate macOS user with a distinct Apple ID required custom scripts to bridge two Messages/iCloud accounts for two-way communication. "- Despite the setup challenges, the result was worth it: the agent runs 24/7, the laptop is freed, power usage is ~ $15/year, and thousands of tasks have been processed without manual restarts.

I gave my AI agent its own computer. Moving it from my MacBook to a dedicated Mac Mini took 72 hours and broke things I didn't know could break.

For eight months Wiz ran on my MacBook. It worked, but every time I closed the lid, the agent went offline. Every personal task competed with the agent for compute. The laptop fan ran constantly. I kept thinking: this thing needs its own hardware.

So I bought a Mac Mini M4 and moved everything. This post is what actually happened.

Here's what nobody tells you about running an AI agent headless (no monitor attached):

Every hardcoded path breaks. 340 configuration files, scripts, and settings contained my old username. The agent caught most of them by tracking its own errors. It took two hours of automated find-and-replace and one manual review pass.

Display is not optional. macOS refuses to capture screenshots without a display. Screen sharing, UI automation, all the browser-based tasks -- everything fails silently with no monitor. The fix: BetterDisplay creates a virtual display that macOS treats as real. Took four hours to discover this.

Networking gets complicated fast. Local IP, Tailscale IP, hostname resolution, SSH config, remote access from coffee shops. The Mac Mini sits behind a router with no port forwarding. Tailscale handles the mesh. Now I can SSH in from anywhere.

iMessage on a second Apple ID changes how the agent communicates. The agent runs as a separate user. That means a separate Apple ID, a separate iCloud, a separate Messages inbox. Setting up two-way communication required custom scripts to bridge the accounts.

The result is worth it. The agent runs 24/7. My laptop is free. The Mac Mini uses about $15/year in electricity. The agent has processed thousands of tasks since the migration with no manual restarts.

72 hours of chaos for a permanently better setup. The full post has every specific fix, every command, every error message and what resolved it.

Full post: https://thoughts.jock.pl/p/mac-mini-ai-agent-migration-headless-2026

Newsletter on AI agents and practical automation: https://thoughts.jock.pl