Skip to content

fix(session): Stop 直後の送信の無い pre_tool_use で新しいターンが開く #3437

Closed

Description

@Kewton

事象

サーバーは TURN_ACTIVITY_EVENTS(src/lib/session/provisional-turn.ts:66。user_prompt_submit / pre_tool_use / post_tool_use)のどれかが来ると、ターンを開く。

2026-10-07T23:41Z(#3429 の調査、本番 logs/server.log.1)では、Claude の Stop(23:41:32.759Z)の 3 秒後に、送信を伴わない pre_tool_use(AskUserQuestion)が届いた。サーバーはこれで新しいターンを開き(turnStartedAt=1791416495218)、その後 Stop は来なかった。CLI の wait はこのターンの終了を 3 時間待ち続けた。

wait 側は PR #3432(#3429)で上限を付けたが、根であるサーバー側の「Stop 直後の、送信の無い活動イベントで新しいターンを開く」動きは残っている。#3429 のワーカーが範囲外として報告した。

調べること

  • Stop の直後に pre_tool_use(AskUserQuestion) が来るのは、Claude Code のどの動き(Stop hook の後の質問・サブエージェントなど)か
  • 送信(user_prompt_submit)の無い活動イベントで開いたターンを、どう扱うべきか(開かない/直前の Stop に属させる/開くが閉じる条件を足す)

受入基準

  • 上の動きの原因を、ログか transcript で特定してから直す
  • 送信の無い、Stop 直後の活動イベントで、Stop を失うターンが開かない(テストで固定する)
  • 通常のターン(送信 → 活動 → Stop)の開閉は変わらない。tests/unit/session/status-contract-1926.test.ts が固定している CLI 側の集合との一致を壊さない
  • npm run lint・npx tsc --noEmit・対のテストが通る

分類

  • 原因の PR: 不明
  • 発見経路: orchestrate
  • 影響する経路: cli, chat

Activity

  1. Kewton commented on Oct 8, 2026

    @Kewton
    OwnerAuthor

    PR #3441(develop マージ済み、本番サーバーに反映済み)で対応しました。質問の記録とログの送り主の件は #3446 で追跡します。

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions