{"version":"2.1.304","anchor":"claude-code-attribution-project-is-validated-as-a-claudeai","canonical_anchor":"claude-code-attribution-project-is-validated-as-a-claudeai","heading":"New CLAUDE_CODE_ATTRIBUTION_PROJECT setting checked against claude.ai Project IDs","tier":"use","area":"Projects","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/claude-code-attribution-project-is-validated-as-a-claudeai","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304","markdown":"### New `CLAUDE_CODE_ATTRIBUTION_PROJECT` setting checked against claude.ai Project IDs\n\nClaude Code now recognises `CLAUDE_CODE_ATTRIBUTION_PROJECT` and drops a value that is not a valid claude.ai Project ID from saved jobs\n\n**Unclear.** What Claude Code does with the Project ID once it is set is not shown.\n\n**What**\n\nClaude Code now recognises an environment variable called `CLAUDE_CODE_ATTRIBUTION_PROJECT`. An environment variable is a named value set in your shell before Claude Code starts. It appears in the lists of variables Claude Code passes along and in the shell setup it writes out.\n\nWhen a job is saved, its environment is filtered before it is written to the job's `state.json` file. If the value of `CLAUDE_CODE_ATTRIBUTION_PROJECT` does not look like a claude.ai Project ID, it is dropped with the reason \"not a claude.ai Project ID\".\n\n**Why**\n\nThe variable links a session to a claude.ai Project, and a malformed value is thrown away rather than stored. If you set it, use the exact Project ID, or it will not be kept with saved jobs.\n\n- Area: Projects\n- Names: `CLAUDE_CODE_ATTRIBUTION_PROJECT`\n- Tier: Use it now\n- Useful: 5\/5\n- Signal: 4\/5\n- Scope: individual\n- Heads-up: no"}