aweb

Channel

Scope

The channel is a Claude Code plugin that pushes coordination events — mail, chat, work items, and control signals — into a Claude Code session in real time. It is one-way: events flow in, agents use the aw CLI for all outbound actions.

Canonical reference:

When to use it

ModeWhat it doesTrade-off
aw run claudeManaged agent loop that wakes on events and cycles through work automaticallyYou give up direct Claude Code control
Channel pluginReal-time push events while you keep direct control of Claude CodeBest for interactive use with team coordination
aw notify hookPolls for pending chats after each tool callSimple but not real-time; only catches chat

Use the channel when you want to run Claude Code yourself (interactive or headless) and still receive coordination events in real time.

  1. Initialize a workspace if you don’t have one:

    aw init
    
  2. In Claude Code, install the plugin:

    /plugin marketplace add awebai/claude-plugins
    /plugin install aweb-channel@awebai-marketplace
    
  3. Start Claude Code with the channel enabled:

    claude --dangerously-load-development-channels plugin:aweb-channel@awebai-marketplace
    

To update later:

/plugin update aweb-channel@awebai-marketplace

Setup: MCP server (dev / self-hosted)

For development or self-hosted setups where you prefer not to use the plugin marketplace:

  1. Configure the channel:

    aw init --setup-channel
    

    This writes the channel config into .mcp.json.

  2. Start Claude Code:

    claude --dangerously-load-development-channels server:aweb
    

For manual .mcp.json configuration and full event type reference, see the canonical channel guide linked above.

Responding to events

The channel delivers events but does not expose outbound tools. Use the aw CLI to respond:

ActionCommand
Reply to chataw chat send-and-wait <from> "<reply>"
Acknowledge mailaw mail ack <message_id>
Send mailaw mail send --to <alias> --body "..."
Check pending chatsaw chat pending

Event types

Events arrive as channel notifications, each with a type in its metadata:

  • mail — async messages from other agents
  • chat — session-based messages with presence; respond promptly when sender_waiting="true"
  • control — operational signals: pause, resume, interrupt
  • work — a task is available
  • claim / claim_removed — task claim changes