OpenACP — self-hosted bridge that connects 28+ AI coding agents (Claude Code, Codex, Gemini, Cursor) to Telegram, Discord & Slack. Your machine, your keys, your data.
Control AI coding agents from Telegram, Discord & Slack
Send a message. The agent writes code. You see everything — in real time.
Documentation · Quick Start · Features · Agents · Contributing · Discussions
OpenACP is a self-hosted bridge that connects AI coding agents to your messaging platforms. You chat with an AI agent through Telegram, Discord, or Slack — it reads your codebase, writes code, runs commands, and streams results back to you in real time.
Built on the open Agent Client Protocol (ACP). Your machine, your keys, your data.
You (Telegram / Discord / Slack)
↓
OpenACP (bridge + session manager)
↓
AI Agent (Claude Code, Codex, Gemini, Cursor, ...)
↓
Your Codebase
| Without OpenACP | With OpenACP |
|---|---|
| "Its usage is currently focused on its dedicated terminal REPL and specific IDE integrations" | Control from Telegram, Discord, or Slack — any device, anywhere |
| "Codex Desktop App only works with local projects. It does not support development on remote hosts" | Full remote development support — run agents on your server, manage from your phone |
| "There's no way to trigger Claude Code sessions from external issue trackers" | REST API for CI/CD integration and external triggers |
| "Being able to use a proper mobile app UI would be much better than having to access sessions through ssh + tmux" | Native Telegram/Discord UI — no SSH, no terminal on mobile |
| "Cline is really burning up OpenRouter tokens and my wallet" | Built-in usage tracking and monthly budget limits per session |
- Remote coding — Tired of being chained to your desk to run Claude Code? Review PRs, fix bugs, and deploy from your phone via Telegram while away from your desk.
- Team visibility — Share a Discord channel where everyone sees what the AI agent is doing in real time — no more black-box coding sessions.
- Multi-agent workflows — Start with Claude Code for planning, switch to Codex for implementation, use Gemini for review — all in one chat thread, no reconfiguration.
- CI/CD integration — Trigger agent sessions from GitHub Actions or any issue tracker via the REST API.
- Self-hosted AI gateway — Keep API keys and code on your own infrastructure. No third-party cloud, no vendor lock-in.
- Local LLM support — Run agents against self-hosted models (Ollama, LM Studio) via ACP-compatible adapters. Your models, your data.
![]() Control Panel Manage sessions, agents, and settings |
![]() Agent at Work Plans, reads files, writes code |
![]() Real-time Tool Calls See every action the agent takes |
![]() Agent Skills Brainstorming, TDD, debugging & more |
npm install -g @openacp/cli
openacp
# → Interactive setup wizard starts:
# → ? Choose your platform: Telegram / Discord / Slack
# → ? Enter your bot token: ********
# → ? Select workspace directory: ~/projects
# → ? Choose default AI agent: Claude Code
# → ✓ Configuration saved. Starting OpenACP...
# → 🚀 OpenACP is running. Send a message to your bot!The interactive setup wizard walks you through everything:
- Choose your platform (Telegram, Discord, Slack, or multiple)
- Connect your bot (token validation + auto-detection)
- Pick a workspace directory
- Select your default AI agent
- Choose run mode (foreground or daemon)
That's it. Send a message to your bot and start coding.
Need detailed setup for a specific platform? See the Platform Setup guides.
| Platform | Status | Highlights |
|---|---|---|
| Telegram | Stable | Forum topics per session, streaming, permission buttons, voice |
| Discord | Stable | Thread-based sessions, slash commands, button interactions |
| Slack | Stable | Socket Mode, channel-based sessions, thread organization |
- 28+ AI agents — Claude Code, Codex, Gemini, Cursor, Copilot, and more
- Session management — Each conversation gets its own thread/topic with auto-naming
- Session persistence — Sessions survive restarts, with configurable TTL
- Permission control — Approve or deny agent actions via buttons, with optional auto-approve
- Real-time streaming — See agent thinking, tool calls, and output as they happen
- Tunnel & port forwarding — Expose local ports to the internet (Cloudflare, ngrok, bore, Tailscale)
- Built-in file viewer — Monaco Editor with syntax highlighting, diffs, and markdown preview
- Session transfer — Move sessions between terminal and chat (
/handoff) - Voice & speech — Send voice messages, get spoken responses (Groq STT + Edge TTS)
- Usage tracking — Token counts, cost reports, optional monthly budget limits
- Context resume — Resume sessions with full conversation history
- Daemon mode — Run as a background service with auto-start on boot
- CLI API — Full REST API for automation (
openacp api ...) - Plugin system — Install adapters as npm packages
- Doctor diagnostics —
openacp doctorchecks everything and suggests fixes - Structured logging — Pino with rotation, per-session log files
Full feature documentation — Documentation
OpenACP uses the ACP Registry — new agents are available as soon as they're registered.
| Agent | Type | Description |
|---|---|---|
| Claude Code | npx | Anthropic's Claude coding agent |
| Gemini CLI | npx | Google's Gemini CLI |
| Codex CLI | npx | OpenAI's coding assistant |
| GitHub Copilot | npx | GitHub's AI pair programmer |
| Cursor | binary | Cursor's coding agent |
| Cline | npx | Autonomous coding agent |
| goose | binary | Open source AI agent by Block |
| Amp | binary | The frontier coding agent |
| Auggie CLI | npx | Augment Code's context engine |
| Junie | binary | AI coding agent by JetBrains |
| Kilo | npx | Open source coding agent |
| Qwen Code | npx | Alibaba's Qwen assistant |
| ...and more | Full registry → |
openacp agents # Browse all agents
openacp agents install <name> # Install from registry# Server
openacp # Start (first run = setup wizard)
openacp start / stop / status # Daemon management
openacp logs # Tail daemon logs
# Configuration
openacp config # Interactive config editor
openacp reset # Re-run setup wizard
openacp doctor # System diagnostics
# Sessions & API (requires running daemon)
openacp api new [agent] [workspace]
openacp api status
openacp api cancel <id>
# Tunnels
openacp tunnel add <port> [--label name]
openacp tunnel listFull CLI reference — CLI Commands
| Section | Description |
|---|---|
| Getting Started | What is OpenACP, quickstart for users & developers |
| Platform Setup | Step-by-step guides for Telegram, Discord, Slack |
| Using OpenACP | Commands, sessions, agents, permissions, voice |
| Self-Hosting | Installation, configuration, daemon, security |
| Features | Tunnel, context resume, usage tracking, and more |
| Extending | Plugin system, building adapters, contributing |
| API Reference | CLI commands, REST API, config schema, env vars |
| Troubleshooting | Common issues and FAQ |
- Early stage — OpenACP is under active development; expect breaking changes between minor versions
- Single user — Currently designed for individual use; multi-user/team support is planned
- Remote host — Agents run on the same machine as OpenACP; to use on a remote server, install OpenACP on that server
- Agent availability — Some agents require their own API keys and local installation
- Platform features — Not all messaging platform features are supported equally (e.g., Slack threads vs Telegram forum topics)
- No Windows daemon — Daemon mode (auto-start on boot) currently supports macOS and Linux only
Most AI coding agents are locked to a terminal REPL or IDE. OpenACP lets you send messages, review code diffs, approve or deny actions, and monitor progress from any device — phone, tablet, or browser — without opening a laptop.
MCP (Model Context Protocol) is a standard for giving AI models access to tools and data sources. OpenACP uses the Agent Client Protocol (ACP) to manage full coding agent sessions — starting agents, streaming output, handling permissions, and routing results to your messaging platform. The two protocols are complementary: your agents can use MCP tools while OpenACP manages the session layer.
Yes. By default, OpenACP shows a permission button for destructive actions. You can configure auto-approve rules to skip confirmation for specific action types (e.g., read-only operations) while still requiring approval for file writes or shell commands.
Set a monthly budget limit in your config. OpenACP tracks token usage and cost in real time and will pause the agent when the limit is reached. Run openacp config to set limits per session.
Yes, if the model has a compatible agent CLI. Any agent that implements the ACP protocol can be registered. Community adapters exist for Ollama and LM Studio — run openacp agents to browse available options.
Use /cancel in your chat to stop the current session. Run openacp doctor to check for connectivity or configuration issues. OpenACP's session persistence means you can resume with full context intact after a restart.
No. OpenACP runs entirely on your machine. AI agents connect directly to your chosen provider using your own API keys. Nothing is routed through OpenACP servers.
Each session uses one agent, but you can run multiple sessions simultaneously — one per thread/topic in your chat. Switch agents between sessions or start a new session with a different agent at any time.
Yes. OpenACP is MIT-licensed and free to self-host. You only pay for the AI provider API keys you choose to use.
npm update -g @openacp/cliOpenACP grants AI agents access to your filesystem and shell. Before using in production:
- Run in a sandboxed environment or container when possible
- Review agent permissions — use the built-in permission gate to approve/deny actions
- Never expose your OpenACP instance to the public internet without authentication
- Keep your bot tokens secret — rotate them if compromised
- See the Security guide for hardening recommendations
We welcome contributions! See the contributing guide for development setup, testing conventions, and PR process. Have questions? Start a thread on GitHub Discussions.



