Channels plugin spawns but notifications silently dropped - tengu_harbor flag blocking (VPS + native binary)
Description
Channel plugin shows "Listening for channel messages from: plugin:telegram@claude-plugins-official" but does not spawn the plugin's bun MCP server process and does not route inbound notifications. Same root cause as #36503, #36460, #36431.
Environment
- Claude Code: v2.1.81 (native binary via install.sh)
- OS: Ubuntu 22.04 on Hetzner VPS (headless)
- Auth: claude.ai OAuth (Max subscription, credentials file with fresh token)
- Plugin: telegram@claude-plugins-official v0.0.1
- Bun: 1.3.11 (at /usr/local/bin/bun, confirmed in PATH)
- Non-root user: running as dedicated
claudeuser with--dangerously-skip-permissions
Critical: This blocks always-on use case
The entire point of running Claude Code on a VPS is always-on availability — the user can message their Telegram bot from their phone whether their laptop is open or not. This is the core use case for Channels. Without VPS support, Channels only works when the user is at their computer, which defeats the purpose.
Same account works on Windows laptop — fakechat and Telegram plugins both spawn and route notifications correctly on the laptop. Only the VPS is blocked.
What works
- ✅ Claude Code starts, shows "Listening for channel messages"
- ✅ Auth is valid (claude -p "say hello" works)
- ✅ Plugin is installed and enabled in settings.json
- ✅ Bun is installed and accessible
- ✅ node_modules installed in plugin cache
- ✅ No CLAUDE_CODE_OAUTH_TOKEN env var (uses credentials file)
- ✅ No DISABLE_TELEMETRY or related vars set
- ✅ Same account works on Windows laptop
What doesn't work
- ❌ No bun child process spawned (confirmed via
ps aux | grep bun) - ❌ Telegram messages never reach Claude Code
- ❌ No error output, no stderr, completely silent failure
Steps to Reproduce
- Install Claude Code native binary on Linux VPS via
curl -fsSL https://claude.ai/install.sh | bash - Authenticate via credentials file (from laptop's
~/.claude/.credentials.json) - Install plugin:
claude plugin install telegram@claude-plugins-official - Configure token in
~/.claude/channels/telegram/.env - Run:
claude --channels plugin:telegram@claude-plugins-official --dangerously-skip-permissions - Observe: "Listening" message appears but no bun process spawns
- Send Telegram message — never received
Request
Please either:
- Enable
tengu_harborfor this account (karolinaozadowicz@gmail.com) - Or provide a workaround for native binary installations on Linux VPS
This is blocking a real use case — a user who built their entire personal AI architecture around always-on access via Telegram, and Channels was supposed to replace their custom GoBot setup.
Related: #36503, #36460, #36431, #36472
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗