{"version":"2.1.293","anchor":"projects-tool-unicode-normalized-path-matching-and-local-pa","canonical_anchor":"projects-tool-unicode-normalized-path-matching-and-local-pa","heading":"Projects tool can upload files from outside the working directory and matches Unicode-variant names","tier":"notice","area":"Projects","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.293\/e\/projects-tool-unicode-normalized-path-matching-and-local-pa","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.293","markdown":"### Projects tool can upload files from outside the working directory and matches Unicode-variant names\n\nproject_write can now upload a file outside the working directory if this session read all of it, and Project names that differ only in Unicode form match\n\n**Unclear.** Whether these Projects tools are available to readers in this build or held behind a switch.\n\n**What**\n\nThe Projects tool lets Claude write files into a claude.ai Project. Its `project_write` action takes a `local_path`, the location of a file on your computer to upload.\n\n- `local_path` used to have to be inside the working directory, the folder Claude Code was started in. A file outside it, including one in extra allowed folders, can now be uploaded by path if this session has read the whole file and it has not changed since. Otherwise the tool refuses with: \"Read the whole file at local_path first, or pass its text as content.\"\n\n- Notebook files outside the working directory are always refused.\n\n- The tool picks one of two input descriptions depending on where the session is hosted. When the host is `elsewhere`, `local_path` is described as \"the absolute path of a file that you have read or written in full in this session, to upload as it is\", rather than a file in the working directory.\n\n- A typed path now matches a listed Project file name that differs only in Unicode normalisation (NFD or NFKD form, different ways of encoding the same accented characters). This happens only if no hooks or path rules intervene; otherwise the path is used exactly as typed.\n\n- Failed saves come with retry guidance, including the warning \"This tool cannot undo a delete\", and error messages now add the underlying cause.\n\n**Why**\n\nClaude can now send a file it has already read in full to a claude.ai Project even when the file lives outside the current folder, which matters most in hosted or desktop sessions. The read-in-full and unchanged rule means it uploads only content it has actually seen. Names with accented characters are less likely to create a duplicate file.\n\n- Area: Projects\n- Tier: You'll notice\n- Useful: 4\/5\n- Signal: 4\/5\n- Scope: individual\n- Heads-up: no"}