Skip to content

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:

/Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13

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