Skip to content

Conversation

@IgorWarzocha
Copy link

@IgorWarzocha IgorWarzocha commented Jan 7, 2026

Summary

  • Add fire-and-forget async subagent tasks with parent notifications and status tracking.
  • Surface background task state in the TUI and system prompt, including subtask reminders and navigation.
  • Add async task limits and async-only permission rules for tighter control.
  • <task_tool_agents> system reminder similar to <skills_available> with a list of currently running async subagents.

Config

  • experimental.async_task_limit (default 3)
  • experimental.async_task_permissions
  • permission.task_async

UX

  • Sidebar shows background tasks with status.
  • Session view renders subtask completion reminders and links to subagent sessions.
  • Compaction includes running async tasks to preserve context.

Testing

  • I have tested it as thoroughly as I can, but there's only so much I can do myself (my imagination ran out of edge case scenarios). Hope it at least helps as a stub if a similar feature is planned.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 7, 2026

The following comment was made by an LLM, it may be inaccurate:

No duplicate PRs found

@arsham
Copy link

arsham commented Jan 7, 2026

I absolutely love this!

I know this is not the scope of this PR, but I was wondering if we could slip in optional model to the task tool. Ignore if this is out of scope.

@IgorWarzocha
Copy link
Author

IgorWarzocha commented Jan 7, 2026

I absolutely love this!

I know this is not the scope of this PR, but I was wondering if we could slip in optional model to the task tool. Ignore if this is out of scope.

@arsham Thank you. I decided to keep it minimal to make it a. easier to integrate b. more likely to merge.

I have a more complex version that restores input prompt box to subagents, allows to pass a summary back to main agent via /finished if you ever interact with a subagent, can purge subagent sessions via /wipe (current) or /wipeout (all)... And another one that allows a skill to be an argument of a task tool, where it basically injects the skill immediately before the subagent starts doing anything.

It's all doable but overcomplicates a single pr.

@arsham
Copy link

arsham commented Jan 7, 2026

@IgorWarzocha those are great ideas. Do you have them on your fork by any chance?

@IgorWarzocha
Copy link
Author

@arsham WIP. need proper testing etc, and all are based on pre 1.1.1. Unsure why started with async one, it just felt right. https://github.com/IgorWarzocha/opencode/pulls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants