◉CLAUDE LABJP
●CODE 2.1.322 — Fast mode now works on Vertex in the global, us and eu regions (11/10), falling back to standard speed if refused●FABLE 5.2 — Claude Code 2.1.321 makes Fable 5.2 the default Fable model: 1M context at $8/$40 per Mtok●MANAGED — Self-hosted Claude Managed Agents is out (11/12): you run the whole service yourself●SONNET 4.5 — Retires on the Claude API on 11/30, 17 days left. Migrate to Sonnet 5.5●MCP APPS — Users report local MCP app views no longer showing in Chat after a desktop update●NEW — Cowork or Claude Code First, With No Terminal Experience●CODE 2.1.322 — Fast mode now works on Vertex in the global, us and eu regions (11/10), falling back to standard speed if refused●FABLE 5.2 — Claude Code 2.1.321 makes Fable 5.2 the default Fable model: 1M context at $8/$40 per Mtok●MANAGED — Self-hosted Claude Managed Agents is out (11/12): you run the whole service yourself●SONNET 4.5 — Retires on the Claude API on 11/30, 17 days left. Migrate to Sonnet 5.5●MCP APPS — Users report local MCP app views no longer showing in Chat after a desktop update●NEW — Cowork or Claude Code First, With No Terminal Experience
Articles/Cowork
◈ Cowork/2026-11-14Beginner

Why Cowork Can't Edit an Image You Pasted: Chat Images vs. Files in a Connected Folder

When you paste a photo into Cowork and ask for a crop, only to hear the file can't be found: how to tell what went wrong, hand the image over through a connected folder, and export results without overwriting the original.

Cowork65ImagesCroppingConnected folderPillowGetting started

I was swapping out the hero image on a client website one afternoon. I pasted the artwork photo straight into the chat and asked Cowork, "Crop this to 16:9 and export it at 1920px wide."

What came back was a thoughtful description of the composition. But as soon as the work moved on to actually cropping, it stopped: the image file couldn't be found in the working folder. Claude could clearly see the photo, yet couldn't touch it. I assumed something was broken and pasted the same image two more times.

The short version, before anything else: nothing was broken. There are two ways to hand Cowork an image, and I was only using one of them.

"It can see it" is not the same as "it has the file"

There are two paths into a Cowork conversation.

How you hand it overWhat Claude can do with itGood for
Paste into the chatLook at the image and describe it in words"What looks off on this screen?" "How does this photo read?"
Put it in a connected folderOpen it as a file, crop, resize or convert it, and save the result under a new nameAnything where you want a file back: exports, batch processing

A pasted image is part of the conversation — something you show Claude. Cropping and resizing, on the other hand, are done by a program running inside the working environment. In my testing, a pasted image didn't exist there as a file. From the program's point of view, there was simply nothing to open.

Files added with the attach button sometimes do land in a working location. But that can vary with how and where you attach them, so I've stopped assuming. I'd rather run the quick check below first.

What to check when it stops

When you get "file not found," check these three things in order before pasting again:

  1. Is the image actually in the folder? Ask Cowork, "Please list the contents of the connected folder." If no file name shows up, you most likely only pasted it.
  2. Is a folder connected at all? Without a selected working folder, there's nowhere for files to live. Look at the screen and confirm one is chosen.
  3. Does the file name match? Name the file — top_hero.jpg — instead of saying "the photo" or "the image from earlier." With several similar names, the wrong file can get opened.

I got stuck at step one: the photo wasn't in the list. I copied it into the connected folder in Finder, asked again by file name, and the work went through immediately. My three re-pastes had all been walking the same path back and forth.

Ask for an export that never overwrites the original

Once images go through the folder, the next thing to protect is the original. If you just say "crop this," the result might be saved under the same name. Losing the original of someone's artwork is not something you can undo.

So rather than describing the processing in words, I hand Cowork a short script and ask it to run it. The script solves three things: crop from the center to the target ratio, scale down to a set width, and always write to a separate folder.

from pathlib import Path
from PIL import Image
 
SRC_DIR = Path("images")          # originals inside the connected folder
OUT_DIR = Path("images/_out")     # export destination, kept separate
TARGET_RATIO = 16 / 9
TARGET_WIDTH = 1920
 
def crop_center(img, ratio):
    w, h = img.size
    if w / h > ratio:             # too wide -> trim left and right
        new_w = int(h * ratio)
        left = (w - new_w) // 2
        return img.crop((left, 0, left + new_w, h))
    new_h = int(w / ratio)        # too tall -> trim top and bottom
    top = (h - new_h) // 2
    return img.crop((0, top, w, top + new_h))
 
def main():
    files = sorted(p for p in SRC_DIR.iterdir()
                   if p.suffix.lower() in {".jpg", ".jpeg", ".png"})
    if not files:
        raise SystemExit(f"No images found in: {SRC_DIR.resolve()}")
    OUT_DIR.mkdir(parents=True, exist_ok=True)
    for src in files:
        dst = OUT_DIR / f"{src.stem}_16x9{src.suffix.lower()}"
        if dst.exists():
            print(f"skip (already exists): {dst.name}")
            continue
        with Image.open(src) as img:
            out = crop_center(img.convert("RGB"), TARGET_RATIO)
            if out.width > TARGET_WIDTH:
                h = round(TARGET_WIDTH / TARGET_RATIO)
                out = out.resize((TARGET_WIDTH, h), Image.LANCZOS)
            out.save(dst, quality=92)
        print(f"{src.name} -> {dst.name} {out.size}")
 
if __name__ == "__main__":
    main()

Why it's written this way: if there are no images, it stops in the first few lines with a path in the error, so the very first stumble shows up as something concrete instead of a vague reply. Writing to _out and skipping files that already exist means you can run it as many times as you like without touching the originals or the previous results. And the last line prints the original name next to the exported size, so you can sanity-check the numbers before opening anything.

The request itself can be as simple as: "I've put the photos in the images folder. Please run this script and show me the output." Claude reads the script before running it, which takes away most of the worry about what's about to happen to your files.

Draw a line before handing over color and texture

I learned one more thing that same day. Along with the crop, I asked for the photo to be "a little brighter, with the colors tidied up." The sky's gradient came back with visible banding, and the texture of the artwork turned into something else entirely.

Automatic correction can produce a photo that looks plausible, but it doesn't know the colors the artist intended — and with a client's work, that matters even more. I ended up re-correcting that one image by hand from the original, and asked Cowork again for the crop and resize only.

Cowork shapes the image; I decide the color. That's the line I work by now. Ratio, size, format, file names — anything with a numeric right answer — I hand over. Color, skin texture, the feel of old paper — anything that needs a human eye — stays with me. Simply not mixing the two in one request has removed almost all of my redo work. As an indie developer handling batches of store images, I find this line matters more the more images there are.

Try your first run like this

If you haven't handled images in Cowork yet, I'd suggest starting with these small steps:

  1. Create one working folder, add an images folder inside it, and connect it.
  2. Copy a single image you want to edit into images (keep the original somewhere else).
  3. Ask, "Please list what's in images," and confirm the file name appears.
  4. Hand over the script above, have it run, and open the result in _out with your own eyes.

Once one image works, all that changes is how many you put in images. Paste into the chat when you want to talk something over; put it in the folder when you want it finished. Once that habit sets in, working with Cowork feels noticeably different.

If you later want to run batch image jobs every morning on a schedule and still be able to verify the results afterward, I go deeper into that design, with examples from my own setup, in the premium articles.

Share

Thank You for Reading

Claude Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • ✦Copy-paste ready implementation code
  • ✦New advanced guides published daily
  • ✦$5/mo or $10 for lifetime access
View Membership →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

◈ Cowork2026-11-11
Cowork or Claude Code on Your First Day Without a Terminal: Three Questions That Settle It
If you have never opened a terminal, which should you try first, Cowork or Claude Code? Three questions about the deliverable, recovery, and who checks the result will decide it.
◈ Cowork2026-11-02
Only the Plugin's MCP Server Fails to Authenticate — Triage for an Unexpanded ${VAR}
If only a plugin-bundled MCP server fails to authenticate in Cowork, its ${VAR} placeholders may be reaching the server as literal text. A log check and a pre-distribution scan, based on the report in issue #94395.
◈ Cowork2026-10-30
Start Cowork's First Week With a Practice Folder: Three I Handed Over, One I Held Back
How to decide which folders to give Cowork first: an empty practice folder, a copy of real files, and an output folder, while keeping the folder with credentials out of reach.