Back to blog

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

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.

Fix an OpenCode Slack Agent That Is Not Replying | Pipa