Since November 6, Enterprise organizations can tag their projects with the codes they already use: a WBS number, a charge code, a client-matter number. Most spend inside those projects can then be reported by tag, in organization settings or through the API. The feature is in beta.
The structure is simple. A tag is the category you report on, like cost_code or client_matter. The value is the code itself, like CC-1042. An owner creates tags and their allowed values; anyone who can edit a project sets the value for it. Each tag holds one value per project, and a project carries at most 16 tags. Tag names are lowercase, carry no spaces, and cannot be renamed later.
The important sentence is in the fine print
Project tags only work inside projects. Work outside a project gets no tag, and that is not a footnote, it is the main boundary of the feature.
Counted: chat in a project, the unified chat and Cowork experience in a project, a Cowork task on your own computer from Claude Desktop 3.6556.1 with one project selected, and Claude Code in the terminal or on the desktop from Claude Code 2.1.305.
Not counted: Claude Code on the web, Claude for Office, Claude in Chrome, Claude Design, Claude in Slack and Microsoft Teams, Artifacts, voice mode, the Claude API, the Claude Console, and Claude Code through Bedrock, Vertex AI, a gateway or an API key. If your developer spend runs over the platform, you will not find it here.
Claude Code needs a line in settings.json
Claude Code has no project picker. Attribution runs through a settings file instead: open the project in Claude, copy the ID from the last part of the URL, then open .claude/settings.json in a repository, or ~/.claude/settings.json to cover all of them, and add { "attributionProject": "PROJECT_ID" }. With the repository variant you have to trust the folder when Claude Code asks.
The catch is in the documentation itself: if no project is set, the usage is not tagged and there is no warning. Anyone rolling this out has to tell people. Plus the usual note about valid JSON, since one stray comma breaks Claude Code on that machine.
Nothing to switch on, plenty to watch
For eligible organizations project tags are on automatically, with no setting. Excluded are organizations with a HIPAA configuration, with customer-managed encryption keys, with zero data retention including ZDR for Claude Code, with minimal data retention, or with data stored outside the US. Also excluded are organizations routing Claude Desktop through their own model provider.
And one line worth reading twice: tag names and tag values are visible to every user in the organization. A client-matter number is no longer a secret. Map your clients onto values and you build an org-wide directory of your engagements without noticing.