chenhg5/cc-connect · error
slack: bot_token and app_token are required
Error message
slack: bot_token and app_token are required
What it means
slack.New required-option guard: bot_token or app_token was not provided (or is empty). Socket Mode needs both (xoxb- bot token and xapp- app token), so construction fails before any connection attempt.
Source
Thrown at platform/slack/slack.go:53
allowFrom string
sessionScope string // "user" (default) | "channel" | "thread"
client *slack.Client
socket *socketmode.Client
handler core.MessageHandler
cancel context.CancelFunc
channelNameCache map[string]string
channelCacheMu sync.RWMutex
userNameCache sync.Map // userID -> display name
}
func New(opts map[string]any) (core.Platform, error) {
botToken, _ := opts["bot_token"].(string)
appToken, _ := opts["app_token"].(string)
allowFrom, _ := opts["allow_from"].(string)
core.CheckAllowFrom("slack", allowFrom)
shareSessionInChannel, _ := opts["share_session_in_channel"].(bool)
if botToken == "" || appToken == "" {
return nil, fmt.Errorf("slack: bot_token and app_token are required")
}
scope := normalizeSessionScope(opts["session_scope"], shareSessionInChannel)
if scope == "thread" {
slog.Warn("slack: session_scope=thread gives each Slack thread its own session; " +
"if your agent runtime is tmux, also set window_per_session=true — " +
"without it, concurrent threads share a single pane and their output will interleave")
}
return &Platform{
botToken: botToken,
appToken: appToken,
allowFrom: allowFrom,
sessionScope: scope,
channelNameCache: make(map[string]string),
}, nil
}
// normalizeSessionScope resolves the configured session_scope option to one of
// "user" | "channel" | "thread". For backward compatibility, when session_scopeView on GitHub (pinned to 4000b2338a)
Solutions
- Set bot_token and app_token in [platforms.slack]
- Create a Slack app with Socket Mode enabled to obtain both tokens
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at platform/slack/slack.go:53 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of chenhg5/cc-connect@4000b2338a (2026-09-06).
Data as JSON: /api/errors/d2d1f1209ff5b5cf.
Report an issue: GitHub.