Symptoms: /claude-to-im start fails or daemon exits immediately.
Steps:
- Run
/claude-to-im doctorto identify the issue - Check that Node.js >= 20 is installed:
node --version - Check that Claude Code CLI is available:
claude --version - Verify config exists:
ls -la ~/.claude-to-im/config.env - Check logs for startup errors:
/claude-to-im logs
Common causes:
- Missing or invalid config.env -- run
/claude-to-im setup - Node.js not found or wrong version -- install Node.js >= 20
- Port or resource conflict -- check if another instance is running with
/claude-to-im status
Symptoms: Bot is online but doesn't respond to messages.
Steps:
- Verify the bot token is valid:
/claude-to-im doctor - Check allowed user IDs in config -- if set, only listed users can interact
- For Telegram: ensure you've sent
/startto the bot first - For Discord: verify the bot has been invited to the server with message read permissions
- For Feishu: confirm the app has been approved and event subscriptions are configured
- Check logs for incoming message events:
/claude-to-im logs 200
Symptoms: Claude Code session starts but times out waiting for tool approval.
Steps:
- The bridge runs Claude Code in non-interactive mode; ensure your Claude Code configuration allows the necessary tools
- Consider using
--allowedToolsin your configuration to pre-approve common tools - Check network connectivity if the timeout occurs during API calls
Symptoms: The daemon process consumes increasing memory over time.
Steps:
- Check current memory usage:
/claude-to-im status - Restart the daemon to reset memory:
/claude-to-im stop /claude-to-im start - If the issue persists, check how many concurrent sessions are active -- each Claude Code session consumes memory
- Review logs for error loops that may cause memory leaks
Symptoms: Status shows "running" but the process doesn't exist, or start refuses because it thinks a daemon is already running.
The daemon management script (daemon.sh) handles stale PID files automatically. If you still encounter issues:
- Run
/claude-to-im stop-- it will clean up the stale PID file - If stop also fails, manually remove the PID file:
rm ~/.claude-to-im/runtime/bridge.pid - Run
/claude-to-im startto launch a fresh instance