Some coding agents add a signature to the commits and notes they write: a co-author trailer naming the assistant, a session link, or a “generated with” footer. If your project does not want them, Overlane refuses them in two places. The plugin catches them where the agent writes. Overlane CI is the control that fails a run whose commits carry one.
The setting
Set guard.aiSignatures in .overlane/project.json:
{ "guard": { "aiSignatures": "refuse" } }| Value | Plugin guard | Overlane CI |
|---|---|---|
refuse (default) |
Blocks the commit, tag, merge or file write and says why | Fails the run before any job starts |
warn |
Allows the call and tells the agent the line is not wanted | Lets the run through |
off |
Allows everything | Lets the run through |
A missing file, a missing key or an unknown value means refuse. The guard is never off by accident. The file is committed with your code, so the choice is visible and reversible in review.
What counts as a signature
- A co-author trailer that names an AI assistant. A trailer naming a person is fine.
- A session-link trailer, or a bare link to an agent session.
- A “generated with” or “generated by” footer that names an AI assistant.
A sentence that only mentions a tool, such as “Claude Code is supported”, is not a signature.
Where it runs
- Plugin guard. Before a
git commit,git tagorgit mergeruns, and before a file write or patch, in Claude Code and Codex. - Overlane CI. For a GitHub project, a run checks the commit messages and the added lines between the base and the pushed commit. A failed run shows the reason and lists the first offenders.
To stop an agent writing the lines at all, also set its own attribution options to empty. The guard is the backstop for the ones it still writes.