Herdctl Gains Slack and Web Connectors

This week herdctl gained support for Slack and Web connectors, opening up two new ways to interact with your Claude Code agents, running on whatever machine you like.

Web UI showing herdctl agent
Slack conversation with herdctl agent
Discord conversation with herdctl agent
herdctl lets you talk with Claude Code across Slack, Web and Discord

The new web UI provides fleet management and a chat frontend. It's a bring-your-own-auth app that you can configure to run on your laptop, on a proxmox machine (I do both), in the cloud, or wherever. Enable it like this in your fleet config:

web:
enabled: true
web:
enabled: true

Then just start your fleet like normal:

herdctl start
herdctl start

Here's what it looks like:

Web UI showing herdctl agent
The herdctl web UI offers a bunch of basic fleet monitoring and chat features. More to come soon.

By default the web server runs on http://localhost:3232, but you can configure it to another port if you like. You're talking to the same Claude Code you would usually be talking to, so depending on what level of permissions you set in your herdctl config, it can do basically anything that Claude Code can do.

At the moment the web chat is fairly primitive, so for any medium-heavy tasks I'm still using Claude Code directly. But for simple tasks and for interrogation or ideation or conversations about architecture, the herdctl web UI is already my go-to because I tend to keep dozens of conversations going at once and there's only so far zellij can help manage all those terminal tabs with Claude Code running in them.

The chats in herdctl persist across restarts, and under the covers it's just calling Claude Code anyway, so you can even resume the chat session you were having in the web UI in Claude Code itself.

Web UI showing recent herdctl chats
I keep dozens of conversations going at once, resulting in terminal tab hell until herdctl. Hey, that rhymes.

It works pretty well on mobile, which will probably continue to be true as I am not likely to lose the bad habit of talking to my agents in bed.

While Slack and Discord are agent-level configurations, the web connector runs at the fleet level. the web UI is able to show all of the agents in your fleet, with chat and basic admin UIs for each of them:

Composable Fleets

Also dropping this week are Composable Fleets, which are already reflected in the web UI as nested groups of agents. As I build herdctl into more projects, I increasingly find myself creating a fleet of agents per project, and wanted a way to run them all and see what's going on with them.

For more on Composable Fleets, see this post.

Slack Support

The new Slack chat connector is the first community contribution that's made it in to herdctl - big shout out to Alex for this awesome contribution! The Slack connector works just like the Discord one, and you can easily use both at the same time:

name: pentester
description: Hourly pentesting of core services

chat:
slack:
bot_token_env: PENTESTER_SLACK_BOT_TOKEN
app_token_env: PENTESTER_SLACK_APP_TOKEN
session_expiry_hours: 24
log_level: standard
dm:
enabled: true
mode: auto
channels:
- id: "${SECURITY_GENERAL_SLACK_CHANNEL_ID}"
- id: "${SECURITY_ALERTS_SLACK_CHANNEL_ID}"
name: pentester
description: Hourly pentesting of core services

chat:
slack:
bot_token_env: PENTESTER_SLACK_BOT_TOKEN
app_token_env: PENTESTER_SLACK_APP_TOKEN
session_expiry_hours: 24
log_level: standard
dm:
enabled: true
mode: auto
channels:
- id: "${SECURITY_GENERAL_SLACK_CHANNEL_ID}"
- id: "${SECURITY_ALERTS_SLACK_CHANNEL_ID}"

The Slack connector supports both direct messages and channel messages, and can be used at the same time as the Discord and Web connectors to expose your agents across multiple platforms. Beware that word expose, though, and use your best judgment on whether you actually do so.

Slack conversation with herdctl agent
It's useful to be able to chat with your agents on Slack

Aside from DM and channel whitelisting, the Slack integration can be configured to send messages for tool calls, tool results and other types of intermediate messages while it performs a task. And regardless of whether Slack is connected or not, the underlying HerdCTL agent still has its own set of permissions regarding the tools it can use, where it runs, and so on.

Find out more about herdctl at herdctl.dev.

Share Post:

What to Read Next