Choose your install method¶
chatwire installs as a Python package and runs as background services managed by macOS launchd. Pick the path that fits your setup.
Decision tree¶
Do you already use Homebrew for everything?
├── Yes → use Homebrew → install/homebrew.md
└── No
Do you want the fastest possible install?
├── Yes (bleeding-edge tooling) → uv → install/uv.md
└── No
Do you want a future GUI app (no terminal)?
├── Yes (coming soon) → Standalone / DMG → install/standalone.md
└── No → pipx → install/pipx.md ← recommended
Method comparison¶
| pipx | Homebrew | uv | Standalone | |
|---|---|---|---|---|
| Recommended for most users | ✅ | |||
| python.org Python (best TCC behavior) | ✅ | ⚠️ | ⚠️ | ✅ |
| One-line upgrade | ✅ | ✅ | ✅ | ✅ |
Plugin install with pipx inject |
✅ | |||
| No terminal required | ✅ | |||
| Available now | ✅ | ✅ | ✅ | future |
Why pipx with python.org Python?¶
macOS's Transparency, Consent, and Control (TCC) system tracks permission grants per binary. Full Disk Access (to read chat.db) and Automation→Messages (to send) are granted to a specific Python executable — not to any Python on the system.
python.org's framework installer ships a well-known binary path:
Using this path means:
1. Your FDA and Automation grants survive pipx upgrade chatwire because the underlying Python doesn't change.
2. You won't need to re-grant permissions when chatwire updates.
Homebrew Python is at a different path and uses a different code-signing identity, so grants don't carry over between the two.
After installing¶
All methods converge on the same post-install steps:
# 1. Register the background services
chatwire install-agents
# 2. Run the first-time wizard
chatwire setup
# 3. Verify everything is healthy
chatwire doctor
Then open http://localhost:8723 to complete permission grants and start chatting.
Next steps¶
- macOS permissions — grant FDA and Automation before the bridge can work
- First run — walkthrough of
chatwire setupand the web wizard - Troubleshooting — if something doesn't go as expected