Duolingo's Slack AI Agent is an open-source TypeScript framework for deploying Claude-powered AI agents inside Slack workspaces. Built on the Claude Code SDK with first-class MCP integration, it provides streaming responses, thread-aware conversations, human-in-the-loop approval workflows, and role-based tool access — a reference architecture for bringing agentic capabilities into team communication.
Why It's in Assess
Released under Apache 2.0 in 2026, this is an early-stage project (low GitHub star count, single corporate maintainer) but architecturally interesting as a reference implementation for enterprise Slack-based AI agents:
- Claude Code SDK integration: Uses Anthropic's SDK for agentic session management, streaming responses, and tool invocation — demonstrates how to build production wrappers around the SDK
- MCP-native tool system: Connects to GitHub, Jenkins, Slack, and custom MCP servers with role-based allowlists and denylists per tool. Teams can extend capabilities without modifying the core agent
- Human-in-the-loop approvals: Configurable action approval workflows for sensitive operations — a pattern increasingly expected in enterprise agent deployments
- Channel-specific configuration: Different channels get different system prompts, auto-reply rules, and tool access profiles. This multi-tenant design is more sophisticated than most open-source Slack bots
- Sub-agent architecture: Supports validation and post-processing sub-agents, enabling quality gates on agent output before it reaches users
Open Questions
- Long-term maintenance commitment is unclear — Duolingo is primarily an edtech company, not an AI tooling vendor
- No independent production case studies beyond Duolingo's own usage
- Low community adoption so far; the architecture is more interesting than the traction
- Tight coupling to Claude Code SDK limits model portability compared to framework-agnostic approaches
When to Consider It
Teams already using Claude and Slack who want a starting point for internal AI agents rather than building from scratch. The codebase is well-structured TypeScript with good separation of concerns — worth studying even if you don't deploy it directly.
Key Characteristics
| Property | Value |
|---|---|
| Interface | Slack (DMs, channels, mentions) |
| Language | TypeScript / Node.js |
| License | Apache 2.0 |
| Underlying model | Claude (via Claude Code SDK) |
| MCP support | First-class (GitHub, Jenkins, Slack, custom) |
| Pricing | Free (BYOK — bring your own Anthropic key) |
| Provider | Duolingo |
| GitHub | duolingo/slack-ai-agent |