Skip to content

fix: restore subagent tool call notifications after summon refactor#7243

Merged
DOsinga merged 1 commit intoblock:mainfrom
rabi:subagent_notification
Feb 17, 2026
Merged

fix: restore subagent tool call notifications after summon refactor#7243
DOsinga merged 1 commit intoblock:mainfrom
rabi:subagent_notification

Conversation

@rabi
Copy link
Contributor

@rabi rabi commented Feb 16, 2026

Summary

The move of subagents into the summon extension broke notification forwarding -- subagent tool calls were no longer visible in CLI/UI.

Plumb notification forwarding from subagent tasks through the summon extension so tool calls are visible in CLI/UI. For async delegates, buffer notifications per-task and drain when load(taskId) is called.

Type of Change

  • Feature
  • Bug fix
  • Refactor / Code quality
  • Performance improvement
  • Documentation
  • Tests
  • Security fix
  • Build / Release
  • Other (specify below)

AI Assistance

  • This PR was created or reviewed with AI assistance

Testing

Tested locally.

Screenshots/Demos (for UX changes)

After:


  ● new session · gcp_vertex_ai claude-opus-4-6
    20260216_1 · /home/ramishra/work/LLM/goose

🪿 goose ready — type a message to get started

  ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ 0% 0/200k
🪿 Use subagents to do these tasks in parallel:
1. Get last 20 pull requests from vllm-project/vllm
2. Get last 20 pull requests from sgl-project/sglang

Run them concurrently, then analyze the results for similarity, list all PRs and explan similarity


I'll fetch the last 20 PRs from both repositories concurrently using subagents.
  ▸ delegate
    instructions Get the last 20 pull requests from the vllm-project/vllm repository on GitHub. List all of them w...
    async: true


  ▸ delegate
    instructions Get the last 20 pull requests from the sgl-project/sglang repository on GitHub. List all of them ...
    async: true

Both tasks are running in the background. Let me wait for their results now.
  ▸ [subagent:3] list_pull_requests | github
    owner: sgl-project
    repo: sglang
    state: all
    sort: created
    direction: desc
    perPage: 20


  ▸ [subagent:2] list_pull_requests | github
    owner: vllm-project
    repo: vllm
    state: all
    sort: created
    direction: desc
    perPage: 20


  ▸ [subagent:3] shell | developer
    command: cat /tmp/goose_mcp_responses/mcp_response_20260216_045207.665871.txt | python3 -c "
import json, sys
data = json.load(sys.stdin)
for pr in data:
    print(f\"{pr['number']}|{pr['title']}|{pr['user...


  ▸ [subagent:2] shell | developer
    command: cat /tmp/goose_mcp_responses/mcp_response_20260216_045208.924131.txt | python3 -c "
import json, sys
data = json.load(sys.stdin)
for pr in data:
    number = pr['number']
    title = pr['title']
 

Both results are in. Here's the full analysis:

The move of subagents into the summon extension broke notification
forwarding -- subagent tool calls were no longer visible in CLI/UI.

Plumb notification forwarding from subagent tasks through the summon
extension. For async delegates, buffer notifications per-task and
drain when load(taskId) is called.

Change-Id: I026ca77d8e018bc56984fa8e60d947b794a88204
Signed-off-by: rabi <ramishra@redhat.com>
@DOsinga DOsinga added this pull request to the merge queue Feb 17, 2026
Merged via the queue into block:main with commit f293948 Feb 17, 2026
19 checks passed
zanesq added a commit that referenced this pull request Feb 17, 2026
…led-extensions-cmd

* 'main' of github.com:block/goose: (24 commits)
  Set up direnv and update flake inputs (#6526)
  fix: restore subagent tool call notifications after summon refactor (#7243)
  fix(ui): preserve server config values on partial provider config save (#7248)
  fix(claude-code): allow goose to run inside a Claude Code session (#7232)
  fix(openai): route gpt-5 codex via responses and map base paths (#7254)
  feat: add GoosePlatform to AgentConfig and MCP initialization (#6931)
  Fix copied over (#7270)
  feat(gemini-cli): add streaming support via stream-json events (#7244)
  fix: filter models without tool support from recommended list (#7198)
  fix(google): handle more thoughtSignature vagaries during streaming (#7204)
  docs: playwright CLI skill tutorial (#7261)
  install node in goose dir (#7220)
  fix: relax test_basic_response assertion for providers returning reasoning_content (#7249)
  fix: handle reasoning_content for Kimi/thinking models (#7252)
  feat: sandboxing for macos (#7197)
  fix(otel): use monotonic_counter prefix and support temporality env var (#7234)
  Streaming markdown (#7233)
  Improve compaction messages to enable better post-compaction agent behavior (#7259)
  fix: avoid shell-escaping special characters except quotes (#7242)
  fix: use dynamic port for Tetrate auth callback server (#7228)
  ...
katzdave added a commit to YusukeShimizu/goose that referenced this pull request Feb 17, 2026
* origin/main: (263 commits)
  working_dir usage more clear in add_extension (block#6958)
  Use Canonical Models to set context window sizes (block#6723)
  Set up direnv and update flake inputs (block#6526)
  fix: restore subagent tool call notifications after summon refactor (block#7243)
  fix(ui): preserve server config values on partial provider config save (block#7248)
  fix(claude-code): allow goose to run inside a Claude Code session (block#7232)
  fix(openai): route gpt-5 codex via responses and map base paths (block#7254)
  feat: add GoosePlatform to AgentConfig and MCP initialization (block#6931)
  Fix copied over (block#7270)
  feat(gemini-cli): add streaming support via stream-json events (block#7244)
  fix: filter models without tool support from recommended list (block#7198)
  fix(google): handle more thoughtSignature vagaries during streaming (block#7204)
  docs: playwright CLI skill tutorial (block#7261)
  install node in goose dir (block#7220)
  fix: relax test_basic_response assertion for providers returning reasoning_content (block#7249)
  fix: handle reasoning_content for Kimi/thinking models (block#7252)
  feat: sandboxing for macos (block#7197)
  fix(otel): use monotonic_counter prefix and support temporality env var (block#7234)
  Streaming markdown (block#7233)
  Improve compaction messages to enable better post-compaction agent behavior (block#7259)
  ...

# Conflicts:
#	crates/goose/src/providers/openai.rs
zanesq added a commit that referenced this pull request Feb 17, 2026
…ions-fallback

* 'main' of github.com:block/goose: (43 commits)
  Added cmd to validate bundled extensions json (#7217)
  working_dir usage more clear in add_extension (#6958)
  Use Canonical Models to set context window sizes (#6723)
  Set up direnv and update flake inputs (#6526)
  fix: restore subagent tool call notifications after summon refactor (#7243)
  fix(ui): preserve server config values on partial provider config save (#7248)
  fix(claude-code): allow goose to run inside a Claude Code session (#7232)
  fix(openai): route gpt-5 codex via responses and map base paths (#7254)
  feat: add GoosePlatform to AgentConfig and MCP initialization (#6931)
  Fix copied over (#7270)
  feat(gemini-cli): add streaming support via stream-json events (#7244)
  fix: filter models without tool support from recommended list (#7198)
  fix(google): handle more thoughtSignature vagaries during streaming (#7204)
  docs: playwright CLI skill tutorial (#7261)
  install node in goose dir (#7220)
  fix: relax test_basic_response assertion for providers returning reasoning_content (#7249)
  fix: handle reasoning_content for Kimi/thinking models (#7252)
  feat: sandboxing for macos (#7197)
  fix(otel): use monotonic_counter prefix and support temporality env var (#7234)
  Streaming markdown (#7233)
  ...

# Conflicts:
#	crates/goose/src/config/extensions.rs
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