A user is running Claude Code on a VPS with a Telegram channel plugin installed (they see it as "plugin:telegram:telegram" in tool/message tags, with MCP tools like reply/react/edit_message/download_attachment, and slash-command skills telegram:configure/telegram:access). They now want to know: can they replicate that same integration pattern, but instead of Telegram as the frontend, use a custom app they're building themselves (they're calling it "Ultron")? I.e. they want their own custom app's users/messages to flow into a running Claude Code session the same way Telegram messages do, and get replies back the same way.

I need an accurate, current answer to relay to them. Please research and answer concisely (under 300 words):

1. Does Claude Code have a documented/supported plugin or "channel" mechanism that third parties can build against to create a custom channel like the Telegram one (e.g. a plugin SDK, webhook spec, or channel API)? If yes, what is it called and where is it documented?
2. If there is no such supported "build your own channel plugin for Claude Code" mechanism, what is the actually-recommended way to build a custom app with similar behavior (user sends a message from a custom app, gets an AI reply, possibly with tool-use/agentic behavior)? This is likely "use the Claude Agent SDK directly to build your own standalone service" rather than hooking into Claude Code's internal channel plugin system — confirm or correct this assumption.
3. Briefly note the practical difference in effort/architecture between (a) trying to extend Claude Code's plugin system vs (b) building a separate app using the Claude Agent SDK / Claude API that just happens to run alongside Claude Code on the same VPS.

Keep the answer factual and grounded in actual current Claude Code / Claude Agent SDK / Claude API documentation — don't speculate beyond what's actually documented.


WebFetch

Prompt: plugin system, channel mechanism, custom plugins, plugin SDK, extending Claude Code with third-party integrations