deepseek-ai/deepseek-harness · error

subagent "${activation.childId}" settlement notice was not d

Error message

subagent "${activation.childId}" settlement notice was not delivered to its parent: ${errorChain(error)}

What it means

Error "subagent "${activation.childId}" settlement notice was not delivered to its parent: ${errorChain(error)}" thrown in deepseek-ai/deepseek-harness.

Source

Thrown at packages/subagent/subagent/src/continuation.ts:1506

      // reading its inbox and records the account in the log either way; it
      // does NOT survive that parent's own disposal, whose `keepInbox: false`
      // cancel durably clears whatever it never claimed.
      if (this.closingTeardownFor(parent) !== undefined) {
        parent.inject(message)
        return
      }
      // An idle parent has nothing else to look at, so it gets one ordinary
      // turn. A busy parent is steered instead of woken: `Inbox.claim()` takes
      // the whole next-step batch at one boundary, so several children settling
      // together cost one step rather than one turn each. Steering rather than
      // injecting closes the window where a driver retires between this status
      // read and the send, which would strand the notice unclaimed.
      this.sendWaking(parent, message, () => {
        if (parent.status === 'idle') parent.followup(message)
        else parent.steer(message)
      })
    } catch (error: unknown) {
      this.ctx.logger.warn(
        `subagent "${activation.childId}" settlement notice was not delivered to its parent: `
        + errorChain(error),
      )
    }
  }

  /**
   * Request a best-effort final session flush after the child is quiescent.
   * Listener failure is logged because flush participation cannot identify a
   * particular persistence backend, and teardown must still release ownership.
   * @param activation - the Activation whose final events should be flushed.
   */
  private async flushFinalState(activation: Activation): Promise<void> {
    const child = activation.handle.agent
    try {
      await child.ctx.sessions.flush(child.session)
    } catch (error: unknown) {
      this.ctx.logger.warn(

View on GitHub (pinned to b150a551b8)

Solutions

  1. Check that the parent session is still alive and subscribed; retry the settlement or restart the parent listener.

When it happens

Trigger: Thrown at packages/subagent/subagent/src/continuation.ts:1506 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of deepseek-ai/deepseek-harness@b150a551b8 (2026-08-24). Data as JSON: /api/errors/b424b3142deed034. Report an issue: GitHub.