Claude Media
Claude Desktopのwrap_up欄が提案を見せずに承認を求める件と回避策

Claude Desktopのwrap_up欄が提案を見せずに承認を求める件と回避策

Claude DesktopのCodeタブで、次のステップ欄(wrap_up)が提案の中身を表示しないまま承認を求める不具合報告が相次いでいます。再現条件と回避策をまとめます。

Claude DesktopのCodeタブで、ターン終了時に出る「次のステップ欄」が、提案の中身を見せないまま「実装しますか」と承認を求める不具合が報告されています。欄の正体は mcp__ccd_turn__wrap_up というツールです。ask と actions を付けて呼ぶと、短い要約と質問、ボタンだけが画面に出ます。関連するIssueは4件で、いずれもopenです。

何が起きているか

Codeタブでは、ツールを使ったターンの最後に wrap_up を呼ぶ作りになっています。欄には300字ほどの要約(recap)と、必要なら質問とボタンが並びます。質問付きで呼ぶと、ツールの結果がモデルに次のように伝えます(Issue #103135の引用)。

When the box shows your question, it ends your turn: write no text after this call, since the recap and question say what the user needs and your work above holds the detail.

つまり、詳細は呼び出しより前の文章に書いてあるはず、という前提です。同じ時期のCodeタブには、日本語名のスラッシュコマンドが送れない不具合や、Group byからプロジェクトが消えた件も報告されています。ところがその前提を確かめる処理はありません。モデルが調査を終えて文章を書かないまま wrap_up を呼ぶと、ユーザーには3文の要約とボタンだけが届きます。

Issue #103169では、典型的な流れを次のように報告しています。

  1. Bashで読み取り系のコマンドを何度か実行する
  2. update_plan で「提案を作る」のステップを完了にする
  3. wrap_up を呼ぶ。要約は「提案を作りました」、質問は「実装しますか」

提案そのものは、ターンの中で一度も文章になっていません。報告者のローカルのトランスクリプトでは、質問付きの wrap_up 54回のうち13回で、そのターンのアシスタント文章がゼロでした。数回は100字に満たない一行だけです。報告者によると、wrap_up が初めて現れたのは2026年10月16日で、それ以前の約500セッションでは起きていません。

症状

報告されている症状の4型

  • 提案が文章で出ない

    要約に「提案しました」とあるのに、提案本文がターン内のどこにもありません(#103169)。

  • 回答が欄に置き換わる

    調査結果を書かないまま質問付きで呼ぶと、調査の答え全体が3文の要約に置き換わります(#103135)。

  • CLAUDE.mdのルールが負ける

    「質問の前に文脈を書く」とユーザーが書いても、ツール側の文言が優先されます(#103036)。

  • 書いた文章が要約に差し替わる

    欄の直前に書いた文章が、短い言い換えに置き換わる報告があります(#102132)。

CLAUDE.mdの規約が効かない理由

#103036の報告者は、ユーザー側のCLAUDE.mdに「質問欄を出す前に、文脈の全文を本文に書く」というルールを置いていました。それでもモデルは2回続けて文章なしで質問付きの wrap_up を呼んでいます。#102132にも同型の報告があり、文脈ルールを書いていたのに直後のターンで繰り返した、という内容です。

#103036のコメントには、この現象の読み解きがあります。ツール側の文言は「要約と質問がユーザーに必要なことを伝える」と言っています。一方でルールの「全文」は、量の定義がありません。ツールが「要約で足りる」と定義してしまうため、モデルから見るとルールは満たされた状態で読めるわけです。

このコメントの提案は、量ではなく中身を名指しする書き方です。

質問欄(wrap_upのaskやAskUserQuestion)を出す前に、本文でボタンが
対象にしている項目を1つずつ書く(順序案・下書き・調査結果など)。
欄の中の要約は、この本文には数えない。

これは報告者側の案で、効果を確かめた結果ではありません。「先に文章を書け」という順序の指示そのものが守られなかった報告も、#102132に複数あります。

回答が消える条件

#102132には、再現の条件を切り分けたコメントが集まっています。ひとつのコメントでは、欄の直前に書いた文章が見えるかどうかを、次のように検証しています。

条件ターン内のツール呼び出し欄の前の文章画面に表示
1ターン内のツール呼び出しなし欄の前の文章約300字画面に表示表示された
2ターン内のツール呼び出し3回欄の前の文章約300字(wrap_up と同じメッセージ)画面に表示表示されなかった
3ターン内のツール呼び出し3回欄の前の文章約300字(別メッセージ、後にツール)画面に表示表示されなかった
4ターン内のツール呼び出し2回欄の前の文章約4,000字(見出し・引用あり)画面に表示表示された
5ターン内のツール呼び出し2回欄の前の文章約1,700字(整形なし)画面に表示表示されず、モデルが書いていない要約が出た

このコメントの報告者は、ツールを走らせたあとの短い文章が消えやすいと読んでいます。消えた文章はセッションのjsonlで thinking ブロックとして保存されており、画面にはその言い換えが通常の本文として出る、という観察です。条件は1つのMac環境の少数回の試行で、他の環境で同じとは限りません。

別のコメントは、ビルドの違いも挙げています。Desktop 2.42304.0(Claude Code 2.1.299)以降は、質問を含む wrap_up の結果に claude/endTurn の印が付き、Claude Codeがその場でターンを閉じます。このコメントの集計では、2.37337.1では wrap_up のあとにモデルが再実行された例が112件中111件。2.42304.0では89件中15件でした。以前は指示に反して欄のあとに回答が書かれ、それが救いになっていたとの読みです。

要約だけで呼ぶと回答が出る

コメントの集計(98セッション、2026年10月14〜19日)では、次の差が出ています。

数字

質問付きと要約のみの差

  • 質問付き wrap_up

    144回

    うち71回(49.3%)で、最後のツール以降の文章が200字未満

  • 要約のみ wrap_up

    361回

    357回(98.9%)で回答が表示された

コメント投稿者のローカル集計。Windows 11とmacOSの混合

質問付きの経路だけが回答を落としています。要約のみで呼び、そのあとに質問まで含めた全文を最後のメッセージとして書く形は、複数のコメントで表示されたと報告されています。「質問を書いたのに見えない」という次の発言を、9回見つけたとも書かれています。これはキーワード照合による下限値です。

今できる回避策

回避策は報告者から2系統出ています。いずれも公式の対処ではなく、ユーザーが試した内容です。

1. CLAUDE.mdで質問付きを避けさせる

#102132のコメントでは、~/.claude/CLAUDE.md に次の趣旨の節を置きました。

## Desktop Code tab: wrap_up の ask を使わない(暫定)
 
ask付きのwrap_upはターンを閉じ、直前に書いた回答が要約に
置き換わることがある。要約(recap)のみでwrap_upを呼び、
その後に回答・下書き・質問と選択肢を最後のメッセージで書く。

このコメントの小さな検証では、メモのみの6回とメモ+フックの9回、合わせて15回すべてで下書きが見えたと報告されています。メモがある条件では、モデルが質問付きを試すこと自体がありませんでした。標本は少数です。

2. PreToolUseフックで質問付きを拒否する

メモを無視した場合の保険として、wrap_up の呼び出しを止めるフックも示されています。Claude Codeのフックは、マッチャーにツール名の正規表現を書けます。PreToolUse は終了コード2、またはJSONの permissionDecision でツール呼び出しを止められます。

"PreToolUse": [{
  "matcher": "^mcp__ccd_turn__wrap_up$",
  "hooks": [{
    "type": "command",
    "command": "bash ~/.claude/hooks/wrapup-no-ask.sh",
    "timeout": 5
  }]
}]

コメントのスクリプトは、tool_input から ask を取り出し、空でなければ deny を返すものです。拒否の理由には「要約のみで呼び直し、最後のメッセージで質問を書く」と添えます。同じ検証では、フックだけの6回でもすべての下書きが見えました。ただし6回のうち3回は質問付きを試して一度拒否され、要約のみで呼び直しています。書き直しが救いになった例が含まれます。

#103169の報告者は別の案を挙げています。フックでトランスクリプトを読み、質問付きかつ現在のターンのアシスタント文章が約100字未満なら終了コード2でブロックする、という方法です。ただしフックの transcript_path は非同期に書かれるため、現在のターンの直近メッセージがまだ含まれないことがあります。フックドキュメントも、最終のアシスタント文章は Stop の last_assistant_message を使うよう案内しています。この案は、反映の遅れで取りこぼす余地が残ります。

落とし穴

フックが効くのはCodeタブがフックを実行する場合だけ

#103036のコメントは、Codeタブが settings.json のフックを実行するかを「確かめていない」と明記しています。上のフックを入れたら、wrap_up を質問付きで呼ばせて拒否が返るかを、先に試す方法があります。

wrap_upの修正で4件のIssueが求めていること

4件のIssueが求めている修正は、ほぼ同じです。

  • 質問付きの wrap_up を、ターン内に十分な文章がなければ拒否する(#102132・#103135・#103169)
  • ツールの説明文を「要約と質問で足りる」から、「欄は回答を運ばない」に直す(#103135・#103036)
  • 欄を出さず、質問を文章で返す設定を用意する(#103036)
  • 同じターンの2回目の wrap_up が、1回目の欄を黙って置き換える挙動を拒否する(#102132)

#103135には duplicate のラベルが付いていますが、4件とも状態はopenです。修正のバージョンはどこにも書かれていません。他ツールのデスクトップ版が承認の場面で何を見せるかはClaude CodeとCodex appの違いにあり、承認の設計を比べる材料になります。直るまでは、承認ボタンを押す前に「何を承認するのか」が画面に出ているかを確かめるのが、見分けやすい方法です。出ていなければ、ボタンを押さずに「提案の中身を文章で出して」と返す方法があります。報告の中にも、利用者が「詳細を見せて」と打ち直して内容を引き出した例があります。

この記事を共有:XはてブLinkedIn