[BUG] Terminal CLI: SendUserFile reports "delivered to user" but nothing is shown; deliverables left in session scratchpad and described as "attached"

Status Open
Reported on v2.1.240
Maintainer reply None cached
Activity 1 comment · opened Aug 22, 2026

Summary

In a plain terminal CLI session, the SendUserFile tool returns a success result ("N files delivered to user") even though the terminal renders nothing the user can act on. Combined with the system-prompt instruction to put working files in the session scratchpad (/private/tmp/claude-501/<project>/<session-id>/scratchpad), this leads the model to (a) write the actual deliverable into a session-scoped temp directory the user will never look in, and (b) tell the user the files are "attached"/"sent". The user sees no file and has to ask "where are the files?".

Environment

  • Claude Code 2.1.240, macOS (Darwin 25.6.0), zsh, plain terminal (not desktop app, VS Code, Remote Control, or Cowork)
  • Model: claude-fable-5

Steps to reproduce

  1. Start claude in a terminal in some working directory.
  2. Ask for something that produces an output file, e.g. "get transcript for <youtube url>".
  3. The model writes the result into the session scratchpad, then calls SendUserFile with the scratchpad paths.
  4. The tool result says 2 files delivered to user. with file UUIDs.
  5. The model reports the files as "attached" and ends the turn.

Observed

  • Nothing actionable appears in the terminal for the "delivered" files.
  • The only copy of the deliverable is under /private/tmp/claude-501/.../scratchpad/, a path the user was never shown and that is session-specific.
  • User had to ask where the files were; the model then had to copy them into the cwd.

Expected

One or more of:

  • SendUserFile should not be offered (or should return a result that says the client cannot render file cards) in a terminal session, so the model falls back to writing into the cwd and printing the path.
  • The tool result should not claim "delivered to user" when the frontend cannot display it.
  • In the terminal client, a SendUserFile call could simply print the absolute path(s) so the user can find the file.
  • The scratchpad guidance in the system prompt could say that final deliverables must be written to the working directory (or a user-specified location), with the scratchpad reserved for intermediate files.

Related (other clients, same "reports success, delivers nothing" shape)

  • #76739 (VS Code extension)
  • #87572 (Remote Control app)
  • #67631 (remote-control server mode)

Filed from a Claude Code session at the user's request.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗