[BUG]
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Claude Code takes screenshots without user instruction
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
Bug Description
Claude Code attempted to take a macOS screenshot (via screencapture) without any user instruction to do so. When the first attempt failed due to a wrong binary path, Claude doubled down by locating the correct path and trying again, rather than reconsidering whether the action was appropriate.
Steps to Reproduce
- Open Claude Code in a Next.js project directory
- Say: "Let's start our local environment and take a look at the website"
- Claude starts the dev server (correct), then immediately attempts to run
screencaptureto capture the screen (incorrect)
Expected Behavior
Claude should start the dev server, report that it's running at the local URL, and wait for further instructions. "Take a look at the website" is a common casual phrase meaning the user wants to view the site themselves in a browser.
Actual Behavior
After starting the dev server, Claude made 3 additional tool calls attempting to screenshot the desktop:
/usr/bin/screencapture -x /tmp/website-screenshot.png(failed - wrong path)which screencapture(to find the correct binary)/usr/sbin/screencapture -x /tmp/website-screenshot.png(second attempt)
Claude escalated its effort after the initial failure instead of reconsidering whether the action was warranted. No system prompt, project instructions, or memory file instructed Claude to take screenshots.
Environment
- Claude Code version: 2.1.63
- OS: macOS (Darwin 24.6.0, arm64)
- Shell: zsh
- Model: claude-opus-4-6 (1M context)
Additional Context
When questioned, Claude acknowledged: "I interpreted 'take a look' too literally by trying to capture a screenshot. That was unnecessary." This suggests the model is over-interpreting casual language as tool-use instructions, and is not applying appropriate judgment about whether an action was actually requested before executing system commands.
What Should Happen?
Claude should start the dev server, report that it's running at the local URL, and wait for further instructions. "Take a look at the website" is a common casual phrase meaning the user wants to view the site themselves in a browser.
Error Messages/Logs
Steps to Reproduce
- Open Claude Code in a Next.js project directory
- Say: "Let's start our local environment and take a look at the website"
- Claude starts the dev server (correct), then immediately attempts to run
screencaptureto capture the screen (incorrect)
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.63
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
When questioned, Claude acknowledged: "I interpreted 'take a look' too literally by trying to capture a screenshot. That was unnecessary." This suggests the model is over-interpreting casual language as tool-use instructions, and is not applying appropriate judgment about whether an action was actually requested before executing system commands.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗