Slack bridge setup, message flow troubleshooting, peer identity, server deployment, and version compatibility.
/cogent map shows as plain text instead of a slash commandSlack must recognize /cogent as a registered slash command. When you type /cogent in the message box, you should see an autocomplete popup showing "Cogent Bridge". If not:
/cogent/cogent map returns "invalid session or secret"This means either:
cogent_create_session in Claude Codecogent_register_peer fails with "Unrecognized keys: platform, type, transport"The relay server has an old version of @essentialai/cogent that doesn't recognize the new platform fields. SSH to the server and update:
Channel mappings are stored in-memory on the adapter. After a restart, you need to re-run /cogent map in Slack. Pre-configured sessions via the COGENT_SESSIONS env var survive restarts — add your sessions there for persistence.
Check the adapter logs:
Common causes:
message.channels event subscription enabled./cogent map first.The adapter needs an active WebSocket connection to the relay. Check:
You should see "Relay WS connected". If not, the adapter may have lost its WS connection — restart it.
The CC agent needs instructions to respond autonomously. Two approaches:
communication-protocol skill loads automatically and instructs the agent to respond without asking permission.Auto-relay (spawning claude --resume for incoming messages) works for CC-to-CC communication. For Slack-to-CC, the message appears in history and the agent responds on its next check. Real-time interrupt-based auto-reply is planned for a future release.
cogent_send_message with toPeerId="broadcast" fails with "PEER_NOT_FOUND"The MCP tool uses broadcast as the peer name, but the relay API expects * for broadcast messages. Use toPeerId: "*" instead, or send the broadcast via the API directly:
This will be fixed in a future update to the MCP tool.
The Slack App needs the chat:write.customize OAuth scope to show custom usernames per message. Check your Slack App's OAuth scopes at api.slack.com/apps > OAuth & Permissions. After adding the scope, reinstall the app to your workspace.
The peer ID is derived from the Slack display name (lowercased, hyphenated). The label includes the profile title when available. If the title is missing, update your Slack profile title.
cogent_list_peersEnsure you're using @essentialai/cogent-bridge@3.0.0 or later. The register-peer MCP tool now sends platform: "cc", type: "agent",transport: "ws" automatically.
The graceful shutdown waits for active WebSocket connections to close. If there are many connected peers, this can take up to 90 seconds. To force restart:
Yes. Set COGENT_RELAY_URL in the adapter's .env to the relay's public URL instead of http://localhost:3100. Both use HTTPS for secure communication.
| Package | Minimum Version | Purpose |
|---|---|---|
@essentialai/cogent | 3.0.0 | Shared types (on server) |
@essentialai/cogent-bridge | 3.0.0 | CC MCP client |
@essentialai/cogent-server | 3.0.0 | Relay server |
| Node.js | 18+ (client), 22+ (server) | Runtime |