[Feature Request] Cross-repository session communication for multi-repo workflows
Resolved 💬 5 comments Opened Jan 24, 2026 by su-record Closed Feb 28, 2026
Problem
Modern projects often split backend/frontend into separate repositories. When working on both simultaneously with Claude Code, there's no way to coordinate changes between sessions.
Example scenario:
- Backend session: Add new API endpoint
POST /api/users - Frontend session: Needs to know about this change to update API client
Currently, users must manually copy-paste or context-switch between terminals.
Current Limitations
- Tasks API: Scoped to single repository only
- Global hooks: Events don't propagate to other sessions in a useful way
- No polling mechanism: Sessions can't subscribe to external events
Proposed Solution
Option A: Cross-repo message queue
# In backend session
/send "frontend" "Added POST /api/users endpoint"
# In frontend session (polling or event-driven)
/subscribe "backend"
# Receives: "Added POST /api/users endpoint"
# Claude automatically updates API client
Option B: Extend Tasks API across repositories
// Shared task state across repos
{
"taskId": "uuid",
"scope": "global", // or "cross-repo"
"repos": ["/path/to/backend", "/path/to/frontend"],
"payload": { ... }
}
Option C: Event subscription system
// Session registry
~/.config/claude-code/sessions/active-sessions.json
// Message queue per repo
~/.config/claude-code/queue/{repo-name}.json
Use Cases
- API contract sync: Backend adds endpoint → Frontend updates client
- Shared types: Types repo changes → Dependent repos update imports
- Monorepo coordination: Multiple packages need coordinated changes
- Integration testing: One session triggers tests across repos
Prior Art
- VS Code Multi-root Workspaces
- Nx/Turborepo task orchestration
- GitHub Actions workflow_dispatch across repos
Implementation Notes
We attempted to build this using global hooks but discovered:
- Subscribing sessions block while waiting
- No polling mechanism to check for new messages
- Events from global hooks don't reach waiting sessions
A native solution would require either:
- Non-blocking event subscription (WebSocket-like)
- Polling API for cross-session messages
- Shared state that transcends repository boundaries
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗