{"version":"2.1.301","anchor":"project-write-gets-a-distinct-refused-error-for-path-uploa","canonical_anchor":"project-write-gets-a-distinct-refused-error-for-path-uploa","heading":"project_write uploads by local_path get wider rules and clearer errors","tier":"notice","area":"Projects","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.301\/e\/project-write-gets-a-distinct-refused-error-for-path-uploa","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.301","markdown":"### project_write uploads by local_path get wider rules and clearer errors\n\nproject_write now allows local_path for text files up to 1 MiB in set folders, refuses notebooks, and explains each refusal more clearly\n\n**What**\n\n`project_write` is the tool Claude uses to write project documents. Instead of passing a file's text, Claude can point it at a file on disk with `local_path`. That option changed:\n\n- Allowed files: the tool description now says `local_path` works for a text file of at most 1 MiB that Claude read or wrote in full in this session. It must be under the working directory or one of two other named folders, and the working directory must not be your home folder.\n\n- Notebooks: a notebook can no longer be uploaded by `local_path`. The error tells Claude to pass its text as `content` instead.\n\n- Refused uploads: when an upload is refused, the error now says the file is missing or unreadable, or its location, name or type is not allowed, and suggests passing the text as `content`. Its code is `local_path_other_container_refusal`. Before, this fell through to a general message.\n\n- The messages for a file that was not read, or has changed since, were reworded.\n\n**Why**\n\nWhen an upload by path is refused, Claude gets the actual reason and the fix, so it can pass the text directly instead of guessing.\n\n- Area: Projects\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: yes"}