Setup Wizard
Runcline connect to open an interactive wizard that guides you through platform selection, credential entry, security configuration, and advanced options (provider, model, system prompt, agent mode).
Supported Platforms
| Platform | Direct Command | Required Credentials |
|---|---|---|
| Telegram | cline connect telegram | Bot token |
| Slack | cline connect slack | Bot token plus webhook signing secret/base URL or socket app token |
| Discord | cline connect discord | Application ID, bot token, public key, base URL |
| Google Chat | cline connect gchat | Service account credentials JSON, base URL |
cline connect whatsapp | Phone number ID, access token, app secret, verify token, base URL | |
| Linear | cline connect linear | API key, webhook signing secret, base URL |
Telegram
Create a Telegram bot
Open Telegram and start a chat with @BotFather. Send
/newbot and follow the prompts:- Enter a display name (e.g., “Cline”)
- Enter a username ending in
bot(e.g.,cline_myname_bot). Must be unique across Telegram. - BotFather responds with your bot token (looks like
7123456789:AAH...)
Start the connector
--bot-username only if you need to override it.Security
By default, anyone who finds your bot can message it and it will execute tasks on your machine. Thecline connect wizard asks whether to restrict Telegram access and can configure this for you.
Get your Telegram user ID
Message @userinfobot on Telegram. It replies with your numeric user ID immediately.
Use the wizard
--hook-command only when you need custom access logic. The hook receives each incoming message with sender info via stdin. Your script returns {"action": "allow"} or {"action": "deny", "message": "reason"}. Without --allowed-user-id or --hook-command, everything is auto-approved, so restrict Telegram bots that can reach a running Cline instance.
Slack
Slack supports webhook mode and socket mode. Each Slack thread maps to an agent session, so the agent maintains conversation context within a thread. Webhook mode requires a bot token, signing secret, and public base URL:<URL>/api/webhooks/slack.
Socket mode requires a bot token and an app-level token with the connections:write scope:
Discord
Requires a Discord application ID, bot token, public key, and public base URL. The connector listens for Discord interactions at/api/webhooks/discord and
also starts a Discord gateway listener for mentions, replies, reactions, and DMs.
Create a Discord application and bot
Open Discord Developer Portal
and create an application.
- In General Information, copy the Application ID and Public Key.
- In Bot, create a bot if one does not exist, then reset and copy the bot token.
- Enable Message Content Intent if you want normal messages, replies, and DMs to include text content.
Expose a public base URL
For local development, use a tunnel such as ngrok:Copy the HTTPS forwarding URL. This is your connector base URL, for example
https://1234-5678.ngrok-free.app.Start the connector
--app-id is an alias for --application-id, and --token is an alias for
--bot-token.--enable-tools allows the agent to inspect files, run commands, edit code,
and prepare PRs from Discord. Omit it if the bot should only chat.Configure the Discord interactions endpoint
In the Discord Developer Portal, set Interactions Endpoint URL to:For example:You can verify the connector is reachable with:
Invite the bot to a test server
In OAuth2 > URL Generator, select the
bot and
applications.commands scopes, then give the bot permission to send
messages and read message history. Open the generated URL and install the bot
into your test server.Discord Command Reference
Send these commands in Discord:| Command | Description |
|---|---|
/help or /start | Show connector help |
/new or /clear | Start a fresh session for this Discord conversation |
/whereami | Show thread, channel, DM state, cwd, workspaceRoot, tools, and yolo state |
/tools [on|off|toggle] | View or change whether repo/file/shell tools are allowed |
/yolo [on|off|toggle] | View or change automatic tool approval |
/cwd [path] | View or change the working directory for this conversation |
/schedule create/list/trigger/delete | Manage scheduled workflows targeting this conversation |
/abort | Stop the current task |
/exit | Stop the connector |
Discord Security
By default, anyone who can reach the bot can ask it to run tasks. Restrict access with--hook-command. The hook receives the Discord user as a participant key
such as discord:user:123456789.
Google Chat
Requires a service account credentials JSON file and public base URL.Linear
Requires an API key, webhook signing secret, and public base URL.Managing Connectors
Hook Command Protocol
The--hook-command pattern works across all connectors. The script receives a JSON payload via stdin:
{"action": "allow"} or {"action": "deny", "message": "reason"}.
Running Multiple Connectors
Multiple connectors can run simultaneously. They all share the same hub:cline hub start if it doesn’t auto-start.
