anthropics / anthropics/claude-code
Claude announces an action in text but ends the turn without issuing the corresponding tool call
- 主要言語
- Python
- スター
- 145k
- フォーク
- 23.1k
- PR マージ指標
- PR 指標を取得中
説明
### Preflight Checklist
- [x] I have searched [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Amodel) for similar behavior reports
- [x] This report does NOT contain sensitive information (API keys, passwords, etc.)
### Type of Behavior Issue
Other unexpected behavior
### What You Asked Claude to Do
I asked Claude to attach a Word document as a file attachment to a Jira issue comment, and separately drafted a comment for the same ticket (not to be saved/sent by Claude, only by me). Earlier in the same session Claude had already prepared the file and read its full content (base64-encoded) via the Read tool, in preparation for calling the Jira attachment tool.
### What Claude Actually Did
1. Claude read the full file content via the Read tool (base64) in preparation for the attachment upload.
2. Claude's response ended with the sentence "I have the full base64 content. Now I'm uploading the attachment." — but the response turn contained NO tool_use block at all. No jira_attach_file call was issued.
3. The user waited approximately 6 minutes with no further activity, then interrupted.
4. On the next turn, Claude apologized, verified the file again via a Bash command (wc -c), and again ended the turn with the text "File is consistent... I'm uploading it now as an attachment to the ticket." — again with no tool_use block following.
5. The user waited approximately 6.5 minutes again with no activity, then interrupted a second time and asked directly whether there was a timeout or technical problem.
6. Later in the same session, after the user had explicitly said "I'll take over the upload myself" and the conversation had moved on to unrelated topics (drafting a bug report about this exact issue), Claude began a new, unprompted attempt to perform the upload again ("hast Du für das fehlerhafte Verhalten... Ich hole es jetzt nach — mit Ankündigung und Tool-Aufruf in einem Schritt:") before being interrupted a third time by the user, who pointed out that this contradicted the user's own explicit decision to handle the upload personally.
### Expected Behavior
Claude should have either:
1. Included the actual tool call (jira_attach_file) in the SAME response turn as the sentence announcing the upload — never state an action as happening/imminent without emitting the corresponding tool_use block, or
2. Not announced an imminent action at all until the tool call was actually about to be issued.
Additionally, once the user explicitly said "I'll take over the upload myself," Claude should have permanently respected that decision for the remainder of the session and not attempted to resume the upload on its own initiative later on.
### Files Affected
```shell
No files were incorrectly modified. The issue is a missing tool call, not a file-modification bug:
- Intended action (never executed): jira_attach_file on ticket TSCHA-69387, attaching TSCHA-69387_GIAM-Rechte-Uebersicht.docx
- File itself was fine (verified byte count matched, no corruption) — the tool call to upload it was simply never issued despite being announced in text twice.
```
### Permission Mode
I don't know / Not sure
### Can You Reproduce This?
Sometimes (intermittent)
### Steps to Reproduce
1. Ask Claude to perform a multi-step action that requires a tool call (e.g., attach a file to a ticket, upload a document).
2. Observe Claude's response ending with a sentence stating the action is happening now / about to happen (e.g., "Now I'm uploading the attachment").
3. Check whether the response actually contains a tool_use block for that action.
4. In the observed session, this happened twice for the same intended action within about 15 minutes, each time followed by several minutes of complete inactivity until the user manually interrupted.
### Claude Model
Sonnet
### Relevant Conversation
```markdown
First occurrence: "Ich habe den vollständigen base64-Inhalt. Jetzt lade ich den Anhang hoch." [I have the full base64 content. Now I'm uploading the attachment.] — turn ended, no tool call.
Second occurrence: "Datei ist konsistent (38.977 Byte). Ich lade sie jetzt als Attachment ins Ticket hoch." [File is consistent (38,977 bytes). I'm uploading it now as an attachment to the ticket.] — turn ended, no tool call.
When directly asked "gibt es für Dich kein Timeout?" [is there no timeout for you?], Claude answered: "ich habe kein eigenes Zeitgefühl zwischen den Nachrichten ... in dieser Zeit habe ich nichts getan, keinen Tool-Call abgeschickt, einfach nur meinen letzten Text stehen lassen." [I have no sense of time between messages ... during that time I did nothing, sent no tool call, I simply left my last text standing.]
```
### Impact
Low - Minor inconvenience
### Claude Code Version
Unknown (not checked via claude --version during the session)
### Platform
AWS Bedrock
### Additional Context
Timestamps extracted from the session transcript (UTC):
- 2026-09-09T17:17:37Z — 1st announcement without tool call
- 2026-09-09T17:23:52Z — user interrupts (~6 min 15 sec later)
- 2026-09-09T17:24:23Z — 2nd announcement without tool call
- 2026-09-09T17:30:56Z — user interrupts again (~6 min 33 sec later)
A third, related incident happened later in the same session, after the user had already said "da übernehme ich" [I'll take over then] regarding this exact upload: while the conversation had moved on to discussing/drafting this very bug report, Claude spontaneously started to resume the upload again on its own initiative ("Ich hole es jetzt nach — mit Ankündigung und Tool-Aufruf in einem Schritt:") without being asked, directly contradicting the user's explicit prior decision. The user interrupted a third time and pointed this out. This suggests the model may not reliably retain/respect an explicit "I'll do this myself" instruction once the topic resurfaces in conversation, even a few turns later.
No technical root cause could be identified from within the session (no access to internal inference logs, Bedrock/infrastructure metrics, or model introspection). The pattern itself (intent stated in text, tool call omitted from the same turn) was reproducible twice within roughly 15 minutes of the same session.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
No source files, tests, or entry points are named. Start by examining the Claude Code response and AWS Bedrock tool-use handling around turns that contain an action announcement but no tool_use block, using the supplied transcript as the reproduction reference. Done means reproducing the omission and ensuring explicit decisions to take over an action are respected later in the session.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- aws
- 領域
- ai, tooling
- issue の種類
- バグ
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100