[BUG] VSCode extension / Agent SDK: attribution settings never injected — Co-Authored-By added despite attribution.commit set to ""

Status Open
Maintainer reply None cached
Activity 0 comments · opened Aug 24, 2026

Description

In the VSCode native extension environment (Claude Agent SDK harness), the attribution setting from .claude/settings.json appears to never be injected into the model's instructions. As a result, the model falls back to its trained default and appends the standard attribution block to commit messages:

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

This happens even with attribution explicitly disabled in project settings:

{
  "attribution": {
    "commit": "",
    "pr": ""
  }
}

How this differs from existing issues

Existing reports (#83813, #79909, #65657, #18253, #45137) describe the attribution instruction losing to the built-in system prompt trailer instruction in the CLI. This report is about a different surface and mechanism: in the VSCode extension / Agent SDK environment, the system prompt contains no commit-attribution guidance at all (neither the default trailer instruction nor the settings-derived override). The attribution setting is therefore silently unenforceable on this surface — the model simply reproduces the attribution block from its training prior.

Steps to reproduce

  1. In a project, set .claude/settings.json:

``json
{ "attribution": { "commit": "", "pr": "" } }
``

  1. Open the project in the VSCode extension.
  2. Stage some changes and ask Claude to commit.

Expected behavior

No attribution line or Co-Authored-By trailer in the commit message (per the attribution.commit: "" docs), on every surface — CLI, extension, SDK.

Actual behavior

The full default attribution block is appended. The user has to amend the commit to strip it.

Suggested fix

Inject the commit/PR workflow guidance (including the resolved attribution values, and honoring the deprecated includeCoAuthoredBy) into the system prompt on the VSCode extension / Agent SDK surface, the same way the CLI does — or at minimum inject an explicit "no attribution" instruction when attribution.commit is "".

Workaround

Adding an explicit rule to the checked-in agent instructions file (AGENTS.md / CLAUDE.md): "Never add AI attribution to commits or MRs — no Generated-with line, no Co-Authored-By trailer." This works because instruction files are loaded on every surface.

Environment

  • Surface: VSCode native extension (Claude Agent SDK harness)
  • Extension/CLI version: <!-- fill in from the extension's version -->
  • Model: claude-fable-5
  • OS: macOS (Darwin 25.5.0)
  • Settings file: project .claude/settings.json

View original on GitHub ↗