cc-connect Manager
Manage cc-connect projects by editing ~/.cc-connect/config.toml and restarting the service in tmux.
Config file
Path: ~/.cc-connect/config.toml
Add a project
Extract these from the user's request:
- name: project name (derive from work_dir basename if not given, e.g.
/path/to/my-app→my-app) - work_dir: absolute path to the project directory
- platform: one of
telegram,discord,feishu,dingtalk,slack,line,wecom,qq,qqbot - token: the bot token (varies by platform)
- agent: default
claudecode, orcodex,cursor,gemini,qoder,opencode,iflow - mode: default
default. For claudecode:acceptEdits/plan/bypassPermissions. For codex:suggest/auto-edit/full-auto/yolo
Run the add script:
python3 ~/.claude/skills/cc-connect-manager/scripts/add_project.py \
--name <name> --work-dir <work_dir> --platform <platform> --token <token> \
[--agent <agent>] [--mode <mode>] [--guild-id <id>]
Platform-specific token mapping:
- telegram:
--token= bot token from @BotFather - discord:
--token= bot token, optionally--guild-idfor instant slash commands - feishu:
--app-id+--app-secret - dingtalk:
--app-id+--app-secret - slack:
--bot-token(xoxb-) +--app-token(xapp-)
After adding, read back ~/.cc-connect/config.toml and show the user the new project block for confirmation.
Multi-agent relay setup (bind)
To put multiple agents (e.g. Claude Code + Codex) in the same chat group:
Architecture
- Each agent needs its own bot (separate token) as a separate
[[projects]]entry - All bots join the same group/channel/server
- After startup, use
/bindin the chat to link them for relay communication
Step-by-step
- Add project A (e.g.
claude-backend, agent=claudecode, platform=discord, token=bot-A-token) - Add project B (e.g.
codex-backend, agent=codex, platform=discord, token=bot-B-token) - Both bots must use the same platform type and join the same group/channel
- Restart cc-connect
- Tell the user to send these commands in the chat group (not here):
Or for any bot that supports slash commands:@bot-A /bind claude-backend @bot-A /bind codex-backend/bind <project-name> - After binding, agents can relay messages to each other. @bot-A sends to Claude Code, @bot-B sends to Codex
Important notes
/bindis a runtime chat command, not a config file setting — it cannot be automated from here- Binding persists in
~/.cc-connect/relay_bindings.json - Each bot in the group needs a unique token (you cannot reuse the same bot for two projects)
Remove a project
Read ~/.cc-connect/config.toml, find the [[projects]] block with matching name, remove it and all its sub-sections ([projects.agent], [projects.agent.options], [[projects.platforms]], [projects.platforms.options]) up to the next [[projects]] or global section. Write the file back.
Restart cc-connect
cc-connect runs in a tmux session named cc-connect. To restart:
# Kill existing cc-connect process in tmux and start fresh
tmux send-keys -t cc-connect C-c && sleep 1 && tmux send-keys -t cc-connect 'cc-connect' Enter
If the tmux session doesn't exist yet:
tmux new-session -d -s cc-connect 'cc-connect'
Always restart after adding or removing a project.
Workflow
- Parse the user's natural language request to extract project params
- Run
add_project.pyfor each project (or manually edit for removal) - Show the user the updated config block
- Restart cc-connect in tmux
- Confirm success by checking tmux output:
tmux capture-pane -t cc-connect -p | tail -5 - If multi-agent setup, remind the user to run
/bind <project-name>for each project in the chat group