# \[Bug\]: Parent agent is not notified when a delegated child waits for an approval · Issue \#22925 · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/issues/22925)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

State: backlog

Priority: 0

## Description

[Discussion and activity](https://git.cafe/pingdotgg/t3code/issues/22925)

---

### Before submitting

- [x] I searched existing issues and did not find a duplicate.
- [x] I included enough detail to reproduce or investigate the problem.

### Area

apps/server

### Context

#15082 was closed on 2026-10-21 with this note: "One part is still open: parent-agent notification for approvals and sign-in requests. If that part still matters to you, please open a new issue for that part only." This is that part. PR #20928 ("notify parents when delegated children need approval") is open and appears to address it.

### Steps to reproduce

1. On `0.1.2-nightly.20261021.3473` (macOS, desktop app), a Claude parent thread (`claude-opus-5-5`, full access) launches an async child with `delegate_task` on a second Claude provider instance (`claude-opus-5-5`, `runtimeMode: full-access`).
2. The child runs a Bash command that edits a file through a heredoc (`python3 - <<'PY' ... PY`). The CLI raises a command approval for it. The child's `system/init` event reports `permissionMode: "bypassPermissions"`.
3. The parent's turn has ended. Nothing wakes it.

### Expected behavior

The parent agent receives a notice that the child is blocked on an approval, with a link to the child thread, so it can tell the user or stop and relaunch the child.

### Actual behavior

- The parent agent gets no notice. The user saw the "Subagent needs approval" banner and had to tell the parent agent about it in chat.
- `task_status` reports `status: running`, `workState: working`, `pendingApproval: null`, while `t3_thread_read` on the child reports `pendingRequestCount: 1`.
- The parent agent cannot approve or decline. Its only option is `t3_thread_interrupt` followed by `t3_thread_send` with new instructions.
- After the interrupt, the old approval stays pending and the banner stays on screen while the new run works normally (see #21935). The user then reported the same banner two more times, and the parent had to inspect the child to tell a stale request from a new one.

### Impact

Major degradation or frequent failure

### Workaround

The parent tells every Claude child to edit files only with Edit/Write, to write scripts to a file before running them, and to avoid heredocs and `rm -rf` with variables. Codex children in the same session did not raise approvals.

