Haha. Nobody ever cared that some humans preferred to use services via a CLI versus GUI. But now that "AI" needs it, CLI programs and APIs get released left and right :D
It’s not that nobody cared, it’s that the cost of building and maintaining CLIs, relative to the usage they got, often didn’t make economic sense. In fact, this is the first time I’ve seen someone want to use Slack via a CLI, not a TUI, an actual CLI. APIs, on the other hand, had plenty of real usage and made business sense, so most services offered them.
With AI, two things have changed: (1) the cost of building a CLI on top of a documented API has dropped a lot, and (2) there’s a belief that “designed for agents” CLIs will enable new kinds of usage that weren’t practical before and that will move the needle on the bottom line.
And now, since bloated agent harnesses like Claude Code are the hot thing, AI promoters are calling MCP obsolete! (No need for HN's summer 2025 fad. Just write CLI tools!)
I'm glad more people are catching onto lightweight CLI tools and using skills to give llms more tools. It's way better than MCP. I been doing this for awhile now and it's just the best way to gets LLMs to do things with APIs built for humans.
From my perspective, this also marks the shift towards agent skills instead of MCP, since agent skills rely on CLI tools. To me, this is also better than MCP since third-party developers can easily reuse existing APIs and libraries instead of needing official MCP support.
same! I personally released a couple of CLIs (written using Claude Code) which I regularly use for my work: logbasset (to access Scalyr logs) and sentire (to access Sentry issues). I never use them manually, I wrote them to be used well by LLMs. I think they are lighter compared to an MCP.
I believe in an MCP-less future of agent-service interactions and have recently submitted this general alternative (which also supports Slack) based on curl: https://github.com/imbue-ai/latchkey
With that said, a specialized tool like this will almost certainly work better if Slack is the only service you want your agents to interact with. I like that the auth is transparent.
Oh this is smart! Reading where Slack stores the local data in your filesystem instead of using their API/MCP (which they charge for).
Very clever; similar to OpenAI launching Atlas when websites start blocking bot requests--just build your own browser so your bot becomes an actual user.
I built this exact solution months ago, digging up Slack’s local storage but it failed because they had encryption on the db and the keys weren’t my account keys. Curious to see how they did it
Warning: in Enterprise (Grid) your account will likely be flagged as hijacked, and all of your sessions will be killed.
Slack implemented session hijacking detection a while ago, and using LLM’s without throttling will very likely result in alerts. If you’re on Enterprise; I’d suggest re-slopping a re-implementation of this with ghost Chrome puppeteer.
I ended up vibe coding a script that uses slack token from the browser to download my messages locally. It's not been flagged yet. But my account got flagged when I tried slackdump.
There's a few open issues/PRs that I'm working on getting in! Feel free to drop any request there (it's the best way for me to track it).
For UNREAD messages... Sadly, I'm not sure that Slack has an official API for that. There may be an "unofficial" API there that we could discover, but I'm hesitant for adding support there.
With that being said, it's not that I wouldn't entertain the idea (it would be REALLY useful) but it would require a bit more thought.
thanks yeah... am a total noob to the api so have no idea but i guess just based on principle if you can see everything the slack webapp sees then it stands to reason the info about the unread messages is SOMEWHERE in there
Using slack makes me so depressed. The interactions we have today pale in comparison to what we had in IRC 30 years ago.
Of course I accept we're stuck with slack. I just have no clue what to write with such a limited interface. The above posted link is a great example of making the most of a tiny interface and coming up short compared to... 30 years ago
Well for one, you had control of the client. Writing extensions, bots, useful scripts was trivial. Slack is rotted enterprise and webhook laden mess in comparison
With AI, two things have changed: (1) the cost of building a CLI on top of a documented API has dropped a lot, and (2) there’s a belief that “designed for agents” CLIs will enable new kinds of usage that weren’t practical before and that will move the needle on the bottom line.
And now, since bloated agent harnesses like Claude Code are the hot thing, AI promoters are calling MCP obsolete! (No need for HN's summer 2025 fad. Just write CLI tools!)
With that said, a specialized tool like this will almost certainly work better if Slack is the only service you want your agents to interact with. I like that the auth is transparent.
Very clever; similar to OpenAI launching Atlas when websites start blocking bot requests--just build your own browser so your bot becomes an actual user.
Slack implemented session hijacking detection a while ago, and using LLM’s without throttling will very likely result in alerts. If you’re on Enterprise; I’d suggest re-slopping a re-implementation of this with ghost Chrome puppeteer.
But I will add a flag to do for `slack message read/list`, since it makes sense.
also... any shortcut for UNREAD messages? for yknow making a recap
For UNREAD messages... Sadly, I'm not sure that Slack has an official API for that. There may be an "unofficial" API there that we could discover, but I'm hesitant for adding support there. With that being said, it's not that I wouldn't entertain the idea (it would be REALLY useful) but it would require a bit more thought.
Of course I accept we're stuck with slack. I just have no clue what to write with such a limited interface. The above posted link is a great example of making the most of a tiny interface and coming up short compared to... 30 years ago
ok, why?