iMessage plugin: per-project channel routing

Resolved 💬 3 comments Opened Apr 13, 2026 by KBH222 Closed Apr 16, 2026

Feature Request

Problem:
When working on multiple projects (e.g., two separate iOS apps), there's no way to route different phone numbers to different Claude Code sessions via the iMessage channel. The access.json config at ~/.claude/channels/imessage/ is global — all allowlisted numbers reach whichever session is active.

Use case:
A developer building two apps (JobWerks + Homeowner's Blueprint) with dual SIM iPhone wants:

  • Phone number A → only reaches Claude Code session for Project A
  • Phone number B → only reaches Claude Code session for Project B

This enables context-separated communication without cross-talk between projects.

Proposed solution:
Support per-project iMessage channel configs, e.g.:

  • ~/.claude/channels/imessage/projects/<project-dir-hash>/access.json
  • Or a project field in access.json that maps sender IDs to project directories
  • Claude Code session only surfaces messages from numbers mapped to its current working directory

Alternatives considered:

  • Manually swapping access.json between sessions — error-prone
  • Running two sessions and keeping both numbers in one allowlist — no isolation, messages land in wrong context

Impact:
Any developer using Claude Code across multiple projects with iMessage would benefit from this. It's especially relevant for teams/individuals building complementary apps (e.g., two-sided marketplaces with separate codebases).

🤖 Generated with Claude Code

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗