How to fix an OpenCode Slack agent that is not replying
Troubleshoot a Pipa-controlled OpenCode agent in Slack: check access control, app setup, the local runtime, and same-thread requests.
Posted by
Related reading
How to run OpenCode remotely from Slack
Use Pipa Local to send work to OpenCode from Slack while away from the computer where it runs, with clear local-runtime limits.
How to schedule OpenCode work to Slack
Schedule timezone-aware OpenCode work with Pipa Local routines and deliver the result to a Slack channel or thread.
How to set up Slack allowlists for OpenCode
Control which Slack users and channels can send requests to OpenCode with Pipa. Set user and channel allowlists during pipa init.
If Pipa does not answer in Slack, check the request in this order. This is for Pipa Local, which sends Slack work to OpenCode running on your computer, not a generic OpenCode server troubleshooting guide.
Quick check
In an allowed channel, mention the bot from an allowed account with a short text request. If Pipa is not running on an awake computer, Slack has nothing local to send the request to.
1. Check the channel and user allowlists
Pipa checks configured channel and user allowlists before handling a request. Start a new thread by mentioning Pipa; follow-ups in that thread continue the conversation. During setup, pipa initcan save allowed Slack channel and user IDs. If either list has values, verify the requesting person and channel are included.
{
"allowedSlackChannelIds": ["C0123456789"],
"allowedSlackUserIds": ["U0123456789"]
}An empty list allows any channel or any user for that list. In a shared workspace, configure both lists deliberately. These controls decide who can send work through Pipa; they do not change OpenCode's own tool permissions.
2. Check the Slack app setup
The bot must be installed in the workspace and invited to the channel where you mention it. Run pipa init again if setup was not completed or the app needs its configuration refreshed. TheOpenCode Slack setup walkthrough has the complete install flow.
3. Keep the local runtime running
Pipa Local is not hosted. Start it in the configured working folder and keep the process and computer awake while you use Slack:
npm install --global @usepipa/pipa pipa init pipa start
If the terminal process stopped or the computer slept, start Pipa again and retry the mention. For requirements and the shortest install path, see the Pipa Local install page.
4. Check whether a newer reply replaced the turn
Each Slack thread uses one persisted OpenCode session. A newer message in the same thread interrupts and replaces active work in that thread. Separate threads can continue independently. If you sent another follow-up while the agent was working, treat the newer message as the request that should receive the reply.
Still need the integration overview?
Start with the OpenCode Slack integration page for what Pipa Local connects, the setup path, and the boundary between Local and Managed Pipa.