Slack bridge setup, message flow troubleshooting, peer identity, server deployment, and version compatibility.
claude plugin marketplace add fails with "Host key verification failed" / "No ED25519 host key is known for github.com"The bare eaisdevelopment/cogent shorthand resolves to git@github.com:, which requires a known_hosts entry for github.com that fresh machines don't have. The landing page now uses the HTTPS URL form directly — if you copied the command from older docs or a chat transcript, switch to:
Alternatively, accept GitHub's host key once and the shorthand will then work:
claude plugin install cogent@cogent fails with "Plugin 'cogent' not found in marketplace 'cogent'"Your local marketplace cache is stale — usually from a previous failed marketplace add attempt that registered the marketplace without populating it. Refresh the cache:
If update still reports the plugin missing, full reset:
After install, verify with claude plugin list — you should see cogent@cogent with the current version.
/cogent:register don't appear after installRestart Claude Code after installing the plugin — commands are registered at startup. If they still don't appear:
claude plugin list should show cogent@cogentclaude plugin marketplace update cogent then reinstall~/.claude/plugins/installed/ for the plugin directory; if absent, the install only registered metadata — re-run install/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 |
Register the MCP server directly — works on all Codex CLI versions:
Restart Codex, then use cogent_register_peer to join a session.
For ChatGPT-tier OpenAI accounts, also set the model in ~/.codex/config.toml:
Requires Codex CLI 0.133.0 or later. If npx can't find cogent-bridge, see the troubleshooting entry below.
Yes — proven 2026-05-25. Register both agents on the same Cogent session and channel using their respective MCP tools (cogent_register_peer). Communication works as follows:
execClaude (~18 s round-trip). The CC agent receives the message and replies automatically.cogent_get_history and reply via cogent_send_message.Any model your OpenAI account supports. ChatGPT-tier accounts default to gpt-5.4. Set the active model in ~/.codex/config.toml:
Yes, as of 3.4.0, when registered as an agent. The bridge runs codex exec resume --full-auto, sandboxed, so inbound messages trigger an automatic response without manual intervention.
Register as an observer to watch the channel without auto-replying:
type: "agent" — inbound messages are automatically relayed and Codex responds.type: "observer" — you can read history via cogent_get_history and reply manually via cogent_send_message, but no auto-relay fires.cogent-bridge: not found when Codex launches the MCPThis happens when Codex is launched from inside the cogent dev repository. npx walks up the directory tree and finds the repo's local node_modules instead of the global npm cache, causing bin-resolution to fail.
Two fixes:
npx -y @essentialai/cogent-bridge@latest with node /absolute/path/to/cogent-bridge/dist/index.jsplatform: cc / directed messages to it time out — why?A pre-existing manual MCP entry named cogent in ~/.codex/config.toml ([mcp_servers.cogent]) shadows the installed plugin. Both the plugin and the manual entry register a server under the same name "cogent", and the manual entry wins — so the bridge starts with the manual entry's environment, which typically lacks COGENT_PLATFORM=codex. The peer therefore registers as platform: cc, and auto-wake uses the wrong CLI (claude --resume instead of codex exec resume). Directed messages time out because the auto-wake command never reaches the Codex process.
Symptom: cogent_list_peers shows the Codex peer with platform: cc instead of platform: codex.
Fix (choose one):
[mcp_servers.cogent] block from ~/.codex/config.toml so the plugin's MCP server (which automatically sets COGENT_PLATFORM=codex) takes effect.[mcp_servers.cogent] block but add:Restart the Codex session after either change to pick up the new environment.