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