Skip to content

[cc] consider claude/channel/permission capability for paired-agent permission relay #86

@anipotts

Description

@anipotts

Source: Apr 2026 conventions audit

Problem

cc declares `experimental: { "claude/channel": {} }` but not `claude/channel/permission`. Imessage declares both. The permission capability lets the channel relay tool-permission prompts to a trusted endpoint (for imessage: self-chat).

For cc, this could enable paired-agent workflows: when one CC session needs permission for a high-stakes tool call, the prompt could be relayed to a watcher peer session for approval.

Trust model

Imessage relays to self-chat — the user authenticates via their own iCloud account. cc would relay between local processes on the same machine. The trust model is "the user owns all of them" but cc has no cryptographic auth of which CC session is the watcher vs worker.

Proposed approach (research)

  1. Pair handshake: at session start, paired sessions exchange a shared secret
  2. Approval messages signed with HMAC-SHA256 over (request_id, action)
  3. Permission prompts as DMs with structured payload + signature
  4. New `cc(action='pair')` and `cc(action='approve')` actions

Acceptance criteria

  • Two paired CC sessions can exchange permission requests/approvals
  • Unpaired session cannot spoof an approval
  • Stale permission requests time out

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpluginsPlugin code or plugin guide

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions