[BUG]

Resolved 💬 2 comments Opened Mar 3, 2026 by CrypticArtsLaboratory Closed Apr 1, 2026

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

  1. Open Claude Code in a Next.js project directory
  2. Say: "Let's start our local environment and take a look at the website"
  3. Claude starts the dev server (correct), then immediately attempts to run screencapture to 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:

  1. /usr/bin/screencapture -x /tmp/website-screenshot.png (failed - wrong path)
  2. which screencapture (to find the correct binary)
  3. /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

  1. Open Claude Code in a Next.js project directory
  2. Say: "Let's start our local environment and take a look at the website"
  3. Claude starts the dev server (correct), then immediately attempts to run screencapture to 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.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗