opencode-poke
v0.1.4
Published
OpenCode TUI plugin to interact with stuck subagents — abort, retry, or send instructions to frozen child sessions
Downloads
683
Maintainers
Readme
opencode-poke
OpenCode TUI plugin to interact with stuck agents and subagents — abort, retry, or send instructions to frozen sessions.
What it does
- Auto-detects what's stuck — checks busy subagents first, then the main agent
- Abort — kills a stuck session so the parent can retry
- Abort + send message — kills it, then sends a follow-up message so it resumes with new instructions
- Abort + poke parent — kills a stuck subagent and tells the parent to retry the task
- Works on both agents and subagents — one command handles everything
Why
OpenCode subagents can freeze when an LLM provider silently drops an SSE connection or stops sending chunks. The main agent has ESC + "continue" as a workaround, but subagents have no equivalent — they just hang forever with no way to interact. This plugin gives you a way to unstick them.
See anomalyco/opencode#13841 for the upstream issue.
Install
opencode plugin opencode-poke -gThis installs the package globally and updates your tui.json automatically.
Or manually:
npm install -g opencode-pokeThen add to your tui.json:
{
"$schema": "https://opencode.ai/tui.json",
"plugin": ["opencode-poke"]
}Usage
Open the command palette and select "Poke", or bind a keyboard shortcut (see below).
Add a keyboard shortcut
Add to your tui.json:
{
"tui": {
"keybinds": {
"poke.global": {
"poke.session": "ctrl+k"
}
}
}
}Replace ctrl+k with whatever key combo you prefer.
Flow
- Press your keybinding or select "Poke" from the command palette
- If one session is stuck, you go straight to the action picker
- If multiple are stuck, you pick which one first
- Choose an action:
- Abort — stop the session
- Abort + send message — stop it, then send a message to resume with new context
- Abort + poke parent — stop a subagent and tell the parent to retry (subagents only)
Development
bun install
bun run typecheck
bun run buildReleasing
Releases are automated via GitHub Actions. To cut a new release:
npm version patch # or minor / major
git push --follow-tagsThe publish workflow builds, publishes to npm with provenance, and creates a GitHub Release with auto-generated notes.
License
MIT
