Projects Tool — Read and Write claude.ai Project Docs#
What's wrong with this entry?
Claude Code can now interact with the claude.ai Project attached to a session. Project docs persist across sessions and surfaces (chat, Cowork, Claude Code), so anything written here is visible to the user and their team on claude.ai.
The session is attached to a project automatically when CLAUDE_PROJECT_UUID is set in the environment (the harness sets this). Claude uses five methods dispatched on a method field:
project_info— retrieve project name, description, custom instructions, doc list, and knowledge-base budget statsproject_read— read one doc by path; large docs are written to a local temp fileproject_search— run a RAG query against the project's knowledge baseproject_write— create or replace a doc (inlinecontentorlocal_pathupload)project_delete— delete a doc by path
- Requires claude.ai authentication. Not available via Bedrock, Vertex, or other third-party providers.
- OAuth scopes
user:projects:readanduser:projects:writeare requested automatically; if absent, the token is refreshed. - Blocked if
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICis set or if the org's compliance policy (e.g. HIPAA) disables project writes. - The project's docs are injected verbatim into every chat turn while total knowledge is under the search threshold (~50k tokens). Above that threshold, chat degrades to retrieval (RAG) mode.
project_writechecks the budget before writing. Passingforce: trueoverrides the injection-threshold guard but not the hard cap.- Writing a new bare filename (no
/) namespaces it toclaude/<name>automatically; pass an explicit nested path to override. local_pathuploads a file from the working directory directly — its contents never enter the model's context window.
Projects tool implementation (search for "project_info", "project_read", "project_write", "project_search", "project_delete" together in a method dispatch, or "Projects API:" in the error class name ProjectsApiError)
Strings lifted out of the shipped bundle, so the claim above can be checked against them.