configure
Configure Slack channel tokens (bot token + app-level token). Use when writing or rotating the Slack bot and app-level tokens for the slack-channel plugin. Trigger with "/slack-channel:configure", "configure slack tokens", or "set up my slack bot token".
Allowed Tools
Provided by Plugin
slack-channel
Two-way Slack channel for Claude Code — chat from Slack DMs and channels via Socket Mode
Installation
This skill is included in the slack-channel plugin:
/plugin install slack-channel@claude-code-plugins-plus
Click to copy
Instructions
/slack-channel:configure
Overview
Configure the Slack channel with your bot token and app-level token. This is
the single place tokens touch disk: the skill validates both token prefixes,
writes them to the state directory's .env, and locks the file to owner-only
permissions. It never echoes tokens back. The install walkthrough
(/slack-channel:install Step 3) delegates here.
Prerequisites
- A Slack app already created (via
/slack-channel:installStep 1 or
manually at api.slack.com/apps) with:
- the Bot User OAuth Token (
xoxb-...) from OAuth & Permissions, and - the App-Level Token (
xapp-..., scopeconnections:write) from
Socket Mode settings.
- A writable home directory — state lives at
~/.claude/channels/slack/.
Usage
Pass both tokens as arguments, bot token first:
/slack-channel:configure <xoxb-bot-token> <xapp-app-token>
Instructions
- Parse the two arguments from
$ARGUMENTS:
- First token must start with
xoxb-(Bot User OAuth Token) - Second token must start with
xapp-(App-Level Token)
- If either token is missing or has the wrong prefix, show this error and stop:
Error: Two tokens required.
- Bot token (starts with xoxb-) from OAuth & Permissions
- App token (starts with xapp-) from Socket Mode settings
Usage: /slack-channel:configure xoxb-... xapp-...
- Create the state directory if it doesn't exist:
~/.claude/channels/slack/
- Write the
.envfile at~/.claude/channels/slack/.env:
SLACK_BOT_TOKEN=<bot-token>
SLACK_APP_TOKEN=<app-token>
- Set file permissions to owner-only:
chmod 600 ~/.claude/channels/slack/.env
- Confirm success:
Slack channel configured.
Start Claude with the Slack channel:
claude --channels plugin:slack-channel@claude-code-plugins
Or for development:
claude --dangerously-load-development-channels server:slack
Next: opt in a channel and pick its interaction mode with
/slack-channel:access channel <id> (defaults to mention-to-engage;
pass --ambient for a dedicated bot channel). See ACCESS.md "Interaction modes".
Output
- On success:
~/.claude/channels/slack/.envwritten with both tokens and
mode 0600, plus the confirmation block above (server start command and
the pointer to channel opt-in). Tokens are never echoed.
- On failure: the two-token usage error from step 2 and no file changes.
Error Handling
- Missing token or wrong prefix — show the step-2 error block and stop;
nothing is written. Bot tokens must start with xoxb-, app tokens with
xapp-.
- Tokens swapped — the prefix check catches it; re-run with the bot token
first.
- Existing
.env— re-running overwrites it in place; this is the
supported token-rotation path (Slack tokens are reusable; rotation happens
at api.slack.com/apps).
- Revoked/invalid tokens — this skill only validates prefixes, not
liveness. If the server later fails auth, run `/slack-channel:install
doctor` (checks 4–5 test both tokens live against the Slack API).
Examples
Both flows are the same command — the second run simply overwrites .env:
# First-time setup (tokens copied from api.slack.com/apps)
/slack-channel:configure xoxb-1234567890-EXAMPLE xapp-1-A0EXAMPLE
# Rotation after regenerating tokens in the Slack UI — same command, overwrites .env
/slack-channel:configure xoxb-NEW-TOKEN xapp-NEW-TOKEN
Security
- Never echo the tokens back in the confirmation message
- Never log tokens to stdout or any file other than
.env - Always set 0o600 permissions on the
.envfile
Resources
skills/install/SKILL.md— the full install lifecycle that delegates to this skill (Step 3) and the doctor that verifies token livenessskills/access/SKILL.md— the next step after configuring: channel opt-in and pairingACCESS.md— interaction modes referenced in the confirmation messageREADME.md— quick start, including Node.js and Docker server alternatives