Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Slack Agentic FrameworkNew to Visual Studio Code? Get it now.
Slack Agentic Framework

Slack Agentic Framework

Tuvshinbayar Mandakh

|
6 installs
| (0) | Free
Runs a Slack Socket Mode bot from VS Code and manages its tokens.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

VS-code-agentic-framework-extension

Vibe code from anywhere using only your phone by setting up a Slack App and linking it to this extension.

How it works

The extension manages a Python Slack bot process (Socket Mode — no public URL needed) that bridges Slack and the claude CLI: your Slack messages become claude -p prompts, and Claude's replies get posted back into the same thread. It uses your existing claude login session, so no Anthropic API key is needed on the bot side.

Each Slack thread is its own conversation:

  • Session continuity — replies in a thread resume the same Claude session (claude --resume), so follow-ups keep context. A plain (non-threaded) message always starts a fresh session.
  • Working directory — the first message in a new thread asks which directory Claude should work in. The last 5 directories used are offered as numbered-reaction shortcuts, or you can just reply with a path.
  • Permission approvals — when Claude wants to use a tool that isn't read-only, the request (command, file diff, etc.) is posted to the thread with ✅/❌ reactions, plus a "tell Claude what to do differently" option that accepts free-form follow-up text instead.
  • Progress visibility — 🤔 shows on your message while Claude is working, swapping to ✅ (done), ⚠️ (error), or ⏳ (timeout) when it finishes. Read-only tool calls (file reads, greps, web searches, ...) post a short milestone line as they happen, so long tasks don't just go silent.

Commands

Command Description
Slack App: Open Panel Open the token-entry / start-stop UI
Slack App: Init (Set Tokens) Set/change tokens via input boxes, then start/restart the bot
Slack App: Start Start the bot
Slack App: Stop Stop the bot
Slack App: Restart Restart the bot
Slack App: Clear Tokens Remove the tokens from .env and stop the bot
Slack App: Show Logs Open the Slack App output channel

Settings

Setting Default Description
slackApp.pythonPath (empty) Python interpreter used to run the bot. Leave empty to let the extension build and use its own managed virtualenv (dependencies installed automatically from requirements.txt). Set this only to override with your own interpreter.
slackApp.scriptPath slack/app.py Bot entry point (relative to the extension's own folder).

If you set your own pythonPath, you're responsible for its dependencies:

pip install -r requirements.txt

Requirements

  • The Claude Code CLI installed and logged in (claude login) on the machine running the extension — the bot shells out to claude -p, reusing that login. Verify with claude -p "say hello" in a terminal first.
  • A Slack app (see below).

Slack app configuration

Create an app at api.slack.com/apps, then:

  1. Socket Mode — Settings → Socket Mode → turn it on. This generates the App-Level Token (xapp-..., needs the connections:write scope, which Slack adds automatically).
  2. Bot Token Scopes — OAuth & Permissions → add:
    • chat:write — post replies and milestone messages
    • reactions:read, reactions:write — the permission-approval and directory-picker reactions
    • im:history and/or channels:history / groups:history — matching wherever you use the bot (DM, public channel, private channel) — needed to read a free-text "tell Claude what to do differently" follow-up
  3. Event Subscriptions — Features → Event Subscriptions → turn on, subscribe to bot events:
    • message.im (and/or message.channels / message.groups, matching what you use)
    • reaction_added
  4. Install the app to your workspace. If you'll use it in a channel (not just DMs), invite it: /invite @yourbot.
  5. Reinstall the app any time you add a scope or event after the first install.

Then open the Slack App panel in VS Code (Activity Bar), paste in the Bot User OAuth Token (xoxb-...) and App-Level Token (xapp-...), and press Start.

Optional environment variables

Set these in the .env the extension manages (or the panel's tokens are enough to get going without them):

Variable Default Description
CLAUDE_TIMEOUT 120 Seconds to wait for a normal claude -p call before giving up.
SLACK_PERMISSION_TIMEOUT 600 Seconds to wait for a Slack reaction/reply before a pending permission request auto-denies.
SLACK_DEFAULT_TARGET (none) Fallback destination for slack_messenger.py's standalone example script; not used by the bot itself.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft