Verified 2026-08-05 What was checked, and when — not a guarantee it is still true.

Where should my skill write files, and which path forms work?

Your skill's shell commands and its file tools operate on one shared scratch space, but they refer to it by two different path forms. Write with bare or relative filenames and both will agree. Absolute session paths handed to the file tools are rejected outright rather than translated, which is the single most common way a working skill breaks when moved into Cowork. The uploads location is read-only; the outputs location is where deliverables belong.

Treat a folder the user connected as a separate mount with its own rules, not as part of the workspace.

Measured

Connected folders appear as their own mounts alongside the outputs location. Permissions are tracked per mount, so a capability granted for one does not extend to another. A skill that assumes one uniform writable area will be surprised the first time it touches a connected folder.

Do not assume a connected project gives you a folder mount. It does not.

Measured

Connecting a project and connecting a folder are different actions producing different results. A session with a project attached and no folder attached has no folder mount at all, and a skill that looks for one will find nothing.

Write files using bare or relative filenames, not absolute paths.

Measured

Your skill's shell commands and its file-reading and file-writing tools operate on the same underlying scratch space, but each refers to it by a different absolute path. A relative filename is correct for both. An absolute path is correct for at most one of them, and which one changes between configurations.

Do not leave anything you want the user to see in the working directory alone.

Measured

The directory your skill works in is a scratch space the user does not see. Files there are not presented, not listed, and on one lane not retained. Producing a file is a separate act from delivering it, and the working directory is on the wrong side of that line.

Never pass an absolute session path to the file tools. It is denied, not translated.

Measured

When a skill discovers an absolute path from shell output and hands it to a file-reading or file-writing tool, the call is rejected. Nothing rewrites it into the form those tools expect. This is the most common way a skill that works in the CLI fails in Cowork, and the error does not point at the path form as the cause.

Treat your own skill's files as read-only at runtime.

Measured

A skill's own directory is made available to the session as a mount you should not expect to write back to. Generate into the outputs location instead. A skill that rewrites its own files to keep state will not carry that state anywhere useful.

Treat the uploads location as read-only and write everything to the outputs location.

Measured

Uploaded files are mounted read-only. Attempting to write there fails. Deliverables belong in the outputs location, which is writable and is also what the delivery mechanisms operate on.

What is not established

What the confidence labels mean
Measured
Observed live in a real session, with a control where noted.
From binary
Read out of a shipped artifact; the behaviour was not exercised.
Inference
Stated as inference in the source material — read the caveats.