Skip to content

fix(session): cancel subtask child sessions#25798

Merged
kitlangton merged 4 commits intodevfrom
fix-subtask-cancel-child-session-dev
May 5, 2026
Merged

fix(session): cancel subtask child sessions#25798
kitlangton merged 4 commits intodevfrom
fix-subtask-cancel-child-session-dev

Conversation

@kitlangton
Copy link
Copy Markdown
Contributor

Summary

  • Propagate Task tool cancellation to child sessions when parent slash-command subtasks are interrupted.
  • Make TaskPromptOps cancellation awaitable so release-time cleanup can wait for child session cancellation.
  • Add regression coverage for slash-command subtask cancellation and direct Task tool abort signals.

Regression Origin

Likely introduced by c5fb628 (refactor(tool): Tool.Def.execute returns Effect, rename defineEffect → define (#21961)) on 2026-04-10, when slash-command subtask execution stopped passing the Effect-provided interrupt signal directly into TaskTool and started using a separate AbortController.

Verification

  • bunx prettier --check packages/opencode/src/tool/task.ts packages/opencode/src/session/prompt.ts packages/opencode/test/tool/task.test.ts packages/opencode/test/session/prompt.test.ts
  • bunx oxlint packages/opencode/src/tool/task.ts packages/opencode/src/session/prompt.ts packages/opencode/test/tool/task.test.ts packages/opencode/test/session/prompt.test.ts (warnings only, existing rules)
  • bun typecheck from packages/opencode
  • bun run test -- test/tool/task.test.ts
  • bun run test -- test/session/prompt.test.ts -t "cancel finalizes subtask tool state|cancel propagates from slash command subtask to child session|running subtask preserves metadata|running task tool preserves metadata"
  • pre-push bun turbo typecheck

@Hona
Copy link
Copy Markdown
Member

Hona commented May 5, 2026

nice yea i ran into this before

@kitlangton kitlangton enabled auto-merge (squash) May 5, 2026 02:29
@kitlangton kitlangton disabled auto-merge May 5, 2026 02:36
@kitlangton kitlangton merged commit 75d141b into dev May 5, 2026
9 checks passed
@kitlangton kitlangton deleted the fix-subtask-cancel-child-session-dev branch May 5, 2026 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants