[Feature Request] Add image upload progress indicator and upload lifecycle hooks
Resolved 💬 3 comments Opened Jan 20, 2026 by eliaslebid Closed Jan 24, 2026
Bug Description
Feature Request: Image Upload Progress Indicator & Hook
Current behavior:
When pasting/uploading images in Claude Code, there's no visual feedback during the upload process. The user sees nothing until the image is
fully uploaded and processed.
Requested features:
- Built-in upload progress indicator - Show a spinner or progress bar with percentage while images are being uploaded/processed
- New hook event: ImageUpload or PreImageProcess - Allow users to trigger custom scripts when image upload starts/completes, similar to
existing hooks like UserPromptSubmit and PreToolUse
Why this matters:
- Large images can take several seconds to upload
- Users may think the app is frozen or their paste didn't work
- No way to provide visual feedback since no hooks exist for image events
- Current workaround using UserPromptSubmit hook fires after upload is complete
Proposed hook structure:
{
"ImageUploadStart": [...],
"ImageUploadProgress": [...], // with progress % in context
"ImageUploadComplete": [...]
}
Environment: Claude Code CLI on macOS
Environment Info
- Platform: darwin
- Terminal: alacritty
- Version: 2.1.12
- Feedback ID: 1bcb77be-65d7-4839-a4ca-b10032fed455
Errors
[{"error":"AxiosError: Request failed with status code 404\n at aP (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:39:1137)\n at Unzip.<anonymous> (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:44:9852)\n at Unzip.emit (node:events:519:35)\n at Unzip.emit (node:domain:489:12)\n at endReadableNT (node:internal/streams/readable:1696:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:90:21)\n at v$A.request (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:46:2130)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n at async Ii2 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:2805:2763)\n at async Wi2 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:2805:3788)\n at async Object.call (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:2807:4641)\n at async It5 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:2700:19680)","timestamp":"2026-01-20T19:46:47.940Z"}]This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗