Agent Channels
Agent Channels (ach) is a CLI that bridges your communicatino channels, such as Slack, to agents like Claude Managed Agents. Mention the bot in any channel or DM and each thread becomes a multi-turn streaming session with your agent — tools, vaults, and all.
Agent Channels is right for you if
- ✅ You've built (or want to build) a Claude Managed Agent and need to put it in front of a team
- ✅ You want to build agents once and provide them across multiple channels
- ✅ You want to provide your agents to your colleagues through Slack, without building a separate app for them
- ✅ You don't want to build messy connectors between agents and communication channels yourself
- ✅ You want multi-turn conversations per thread, not one-shot Q&A bots
- ✅ You want streaming responses that appear in real time, not 30-second waits for a wall of text
Quick Start
Set up a Claude Managed Agent on Slack in three commands:
# Install
brew install agentchannels/tap/ach
# Set up agent, environment, vault, and Slack app — one interactive wizard
ach init slack
# Start the bot
ach serve
That's it. ach init slack selects or creates your Claude Managed Agent and Environment, optionally links a Vault, configures your Slack app, and writes everything to .env. Then ach serve picks it all up automatically.
Prefer Claude Code? Install the plugin (see Installation below), then run /agentchannels:init-slack and /agentchannels:serve inside Claude Code. Jump to Use from Claude Code for details.
Installation
Claude Code plugin
Install directly into Claude Code — no git clone needed:
claude plugin marketplace add agentchannels/agentchannels
claude plugin install agentchannels@agentchannels
Then use /agentchannels:init-slack and /agentchannels:serve inside Claude Code. See Use from Claude Code for what each skill does.
To update: claude plugin update agentchannels@agentchannels
macOS (Homebrew)
brew install agentchannels/tap/ach
npm
npm install -g agentchannels
Requires Node.js >= 18.
npx (no install)
npx agentchannels init slack
npx agentchannels serve
Requires Node.js >= 18.
From source
git clone https://github.com/anthropics/agentchannels.git
cd agentchannels
pnpm install && pnpm build
pnpm link --global
Prerequisites
- Anthropic API key with Managed Agents access — console.anthropic.com
- Slack workspace where you can create apps
Configuration
agentchannels splits its configuration in two:
.env holds secrets — your Anthropic API key and Slack tokens.
agentchannels.config.ts describes the agent backend — which Claude Managed Agent to talk to, or any other Backend implementation you wire up. The ach init slack wizard generates this file for you.
Environment variables (.env)
| Variable | CLI flag | Description |
|---|
ANTHROPIC_API_KEY | — | Anthropic API key. Read by the generated config file. |
SLACK_BOT_TOKEN | --slack-bot-token | Slack bot token (xoxb-...) |
SLACK_APP_TOKEN | --slack-app-token | Slack app-level token (xapp-...) for Socket Mode |
SLACK_SIGNING_SECRET | --slack-signing-secret | Slack signing secret (optional under Socket Mode) |
Agent config (agentchannels.config.ts)
The wizard scaffolds something like:
import {
defineConfig,
ManagedAgentBackend,
BackendRegistry,
} from "agentchannels";
const registry = new BackendRegistry();
export default defineConfig({
resolveBackend: (ctx) =>
registry.resolve(
ctx.threadKey,
() =>
new ManagedAgentBackend({
clientConfig: { apiKey: process.env.ANTHROPIC_API_KEY ?? "" },
agentId: "agent_…",
environmentId: "env_…",
}),
),
});
Pass --config <path> to ach serve to point at a different file.
See Backend interface below for how to plug in a custom Backend (e.g. a local Claude CLI process) instead of ManagedAgentBackend.
CLI Reference
ach init slack
Interactive wizard that handles complete setup in one flow: