Skip to content

ai-harness: a forwarded command completes with no result, also when the owner rejects it #1796

Closed

Description

@AlemTuzlak

TanStack AI version

@tanstack/ai-harness on the feat/harness-core branch, with #1780 (not released yet).

Framework/Library version

Node 24.8.0. No UI framework: the bug is in the durable host.

Describe the bug and the steps to reproduce it

With #1780, a durable host passes an input for a thread that another host owns to stores.inbox, and the owner runs it. For session.command(...), the host that passed it on ends the command operation right away with status completed and the result undefined.

So the caller gets a wrong answer in two cases:

  • The command returns a value: the caller gets undefined.
  • The owner rejects the command (unknown_command, invalid input) or the command throws: the caller still gets completed.

The real result exists only in the owner's events. Code: executeCommand in packages/ai-harness/src/session/turn.ts.

Steps:

  1. Open one thread on two durable hosts that share log, runs, workClaims, and inbox.
  2. Start a turn on host A, so A owns the thread.
  3. Call hostB.command('unknown') while the turn runs.
  4. The operation on host B completes with undefined. On host A, the command is rejected.

Possible fixes:

  • Host B waits for the owner's result in the log (a settled record for the command input), and ends its operation with it.
  • Host B ends the operation with a receipt only (queued), and the docs say that a forwarded command has no result.

Your Minimal, Reproducible Example - (Sandbox Highly Recommended)

packages/ai-harness/tests/forwarding.test.ts on #1780 has the two-host setup (sharedStores()). Use it with the steps above, and expect the operation on host B to fail.

Do you intend to try to help solve this bug with your own PR?

Maybe, I'll investigate and start debugging

Terms & Code of Conduct

  • I agree to follow this project's Code of Conduct
  • I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

Activity

  1. added 2 commits that reference this issue on Oct 22, 2026
    1a8232d
    c121f26
  2. tombeckenham commented on Oct 22, 2026

    @tombeckenham
    Contributor

    Fixed in #1872, merged into feat/harness-core (c121f26). It ships to main with #1755.

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions