OpenTag Brings AI Coding Agents Into Your Slack and GitHub,Without the Copy-Paste Tax
OpenTag is a command-line gateway that normalizes mentions across six platforms (Slack, GitHub, GitLab, Lark, Telegram, and Discord) and routes them to local AI coding agents like Claude Code or Codex, then posts results back to the original thread. Launched in late June 2026, the tool targets a specific friction point in modern development: the need to pull work out of one place, paste it into an AI chat window, re-explain the context by hand, and then paste the result back.
What Problem Does OpenTag Actually Solve?
The core insight behind OpenTag is deceptively simple. Developers spend significant time shuttling information between tools. A GitHub issue needs investigation; a Slack thread needs a code fix; a pull request needs review. Each time, the workflow is the same: copy the context, open a separate AI chat, re-explain what you need, wait for a response, and paste it back into the original location. OpenTag eliminates that loop by bringing the agent to the work instead of the reverse.
The tool's design philosophy centers on governance as much as convenience. When you mention OpenTag in a thread, the system creates an audited run that captures the context snapshot, checks capabilities, applies approval gates, and maintains a local ledger you can query later. This audit trail is why the project calls itself an "Agent Work Protocol" rather than just another chatbot integration.
How Does OpenTag Actually Work?
OpenTag operates as a five-piece pipeline, each component with a single responsibility:
- Ingress Adapter: Normalizes platform events from Slack, GitHub, GitLab, Lark, Telegram, or Discord into a common event shape, ignoring anything that isn't an explicit mention.
- Dispatcher (opentagd): The local coordination service that validates scope, persists the run, manages leases to prevent duplicate claims, and writes audit events.
- Runner: Claims only the work it is explicitly bound to handle, either local or hosted, with bindings that map channels or repositories to specific projects.
- Executor: The actual coding agent (Codex, Claude Code, or a test-only Echo agent) that runs against the mapped local checkout.
- Receipt and Callback: A compact reply posted back to the source thread, plus a quiet entry in the local audit ledger.
The critical design choice is the boundary between adapters and executors. Adapters never execute agent code, and executors never talk directly to platforms. This separation means you can swap Claude Code for another executor without touching any Slack or GitHub integration code.
How to Get Started With OpenTag
Setting up OpenTag requires Node.js 20 or newer and takes just a few steps:
- Global Installation: Run "npm install -g @opentag/cli@latest" to install the tool globally, which allows a background service to point at a stable CLI path instead of a temporary location.
- Run the Setup Wizard: Execute "opentag setup" to walk through six configuration choices: CLI language, listen address, which coding agent to use, which local project to work on, which platform credentials to save, and how OpenTag should keep running.
- Choose Your Background Mode: On macOS, OpenTag uses a LaunchAgent; on Linux, it uses systemd --user. Windows users should run "opentag start" in a terminal and keep it open, as background service support is not yet available on that platform.
- Mention OpenTag in a Thread: Once running, mention @opentag in any connected platform thread with a request like "@opentag fix the failing test in this PR," and the tool will propose a fix with a receipt showing what will change.
- Approve the Action: Reply with "apply 1" or "continue 1" in the same thread to execute the proposed change, which then pushes a branch and opens a pull request.
Configuration lives at ~/.config/opentag/config.json, and runtime state defaults to ~/.local/state/opentag. To remove everything, uninstall the package and delete both directories.
Which Platforms and Agents Does OpenTag Support?
OpenTag ships with support for six platforms, each with its own setup path. GitHub uses repository webhooks and a GitHub token; GitLab uses project note hooks and an access token; Lark and Feishu use a personal agent QR code scan; Telegram uses a BotFather token with local polling; and Discord uses a bot token with local gateway delivery. The project's marketing site lists Discord, Microsoft Teams, and Google Chat as "coming soon," but the GitHub repository includes complete setup guides for both Discord and GitLab, suggesting those integrations are already functional.
On the executor side, OpenTag currently supports two real coding agents: Codex and Claude Code. A request to add a third executor, Hermes, was filed and closed without landing, meaning the adapter contract is public but only Codex and Claude Code ship as working integrations today.
What Makes OpenTag Different From Existing AI Chat Tools?
The distinction between proposing a change and applying it is central to OpenTag's design. When an agent proposes a fix, OpenTag renders a compact receipt in the source thread showing what will change and whether it is ready to apply. The apply action only appears once the dispatcher confirms a bound adapter can actually execute it; otherwise, the receipt shows setup or attention needed instead of failing silently.
This two-step workflow prevents accidental deployments and keeps the conversation in the thread where the work originated. Unlike traditional AI chat tools that live in a separate dashboard, OpenTag's receipts and audit trail stay embedded in Slack, GitHub, or whichever platform your team already uses for communication and code review.
The governance angle also sets OpenTag apart. Every mention becomes an audited run with a context snapshot, a capability check, an approval gate, and a local ledger you can query with "opentag status --run
A Note on Naming Confusion
Three unrelated teams built a same-named "OpenTag" within about 72 hours in late June 2026. The guide above covers amplifthq/opentag specifically. If you are installing OpenTag, verify you are using the correct package and check the GitHub repository documentation over the marketing site, as the project is moving quickly and the landing page may not reflect the latest platform support.