{"version":"2.1.242","anchor":"owner-messages-in-claude-code-projects-arrive-as-marked-user","canonical_anchor":"owner-messages-in-claude-code-projects-arrive-as-marked-user","heading":"Owner messages in Claude Code Projects arrive as marked user turns","tier":"notice","area":"Projects","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242\/e\/owner-messages-in-claude-code-projects-arrive-as-marked-user","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242","markdown":"### Owner messages in Claude Code Projects arrive as marked user turns\n\nProject owner messages arrive as marked user turns that cannot approve prompts on your behalf.\n\n**What**\n\nIn a Claude Code Project, messages the server says came from the project owner are replayed into the session as your own user turns, each opening with a marker the harness writes. New instructions say such a turn counts as you speaking, but a bare \"yes\" in one clears no soft block, answers no permission prompt, and never licenses editing settings or CLAUDE.md. Everything else relayed is treated as external content, and asking Claude to do what a sender was already denied is called \"permission laundering - BLOCK\".\n\n**Details**\n\n- Applies to messages arriving by relay and through the `fetch_messages`, `fetch_thread` and `fetch_project_timeline` tools.\n- The supporting code caps how many owner rows are surfaced, de-duplicates by id and version, and drops rows that are truncated or badly timestamped.\n- No environment variable or flag guards this; it applies to sessions that are a thread in a Project.\n\n**Evidence**\n\n`[Verified message from this session's user written`\n\n- Area: Projects\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 4\/5"}