# CLA Bot and AI Agents?

**URL:** <https://discuss.python.org/t/cla-bot-and-ai-agents/106635>\
**Category:** Core Development\
**Tags:** github, ci\
**Created:** [March 22, 2026, 7:49am UTC](https://discuss.python.org/t/cla-bot-and-ai-agents/106635 "2026-03-22T07:49:16Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![gpshead](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/gpshead/32/54_2.png) [@gpshead](https://discuss.python.org/u/gpshead)\
**Post date:** [March 22, 2026, 4:51pm UTC](https://discuss.python.org/t/cla-bot-and-ai-agents/106635/8 "2026-03-22T16:51:00Z")

</div>

You’ve since force pushed (the right solution today) to rewrite the commits to workaround the clabot papercut. To make sure I understood what copilot was doing and how our [GitHub - psf/clabot: Python Software Foundation Contributor License Agreement Management Bot · GitHub](https://github.com/psf/clabot) triggers I went and looked at your earlier branch:

Your copilot created commits show up in `git log` as:

```python
commit c4c841f0cb1690573734ee029309f110fa1e0e9d
Author: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Date: Sun Mar 22 13:42:31 2026 +0000

    Improve error messages for bounded iteration on extended slice assignment

    Co-authored-by: csm10495 <5749838+csm10495@users.noreply.github.com>
    Agent-Logs-Url: https://github.com/csm10495/cpython/sessions/48a4582d-926d-44bf-aa9b-8078648099f4

```

It has nothing to do with the `Co-authored-by:` lines. Those are never considered. What [clabot](https://github.com/psf/clabot) looks at is the `Author:` on a git commit. The GitHub _UI_ tied your identity to it because GitHub (not git) offers something slightly more than git because it knows who’s account was used.

 ![Screenshot 2026-03-22 at 9.22.36 AM](https://us1.discourse-cdn.com/flex002/uploads/python1/original/3X/d/0/d0b545939dc06bcc7b4e7960f8a6ef300e4fa862.png)

_(that’s from [Improve error messages for bounded iteration on extended slice assign… · python/cpython@c4c841f · GitHub](https://github.com/python/cpython/commit/c4c841f0cb1690573734ee029309f110fa1e0e9d) until github garbage collects your old unreferenced commit)_

The same kind of clabot “Who dis?” thing happens by default if you use Claude Code [on the Web](https://code.claude.com/docs/en/claude-code-on-the-web) and do not tell it or configure it to commit with a different author line. It will have an Author line with the Claude noreply anthropic email address. _(tip if you forgot: just ask your session to rewrite commit history to fix the author lines to your liking)_

If you want to avoid this when using copilot for remote sandboxed development, try asking it to use your name and email on commit messages if it doesn’t already have a way for you to configure its sandboxed git client directly. For Claude on the web you can add relevant `git config` commands to the Environment setup script for the remote hosted sandbox it runs in.

These are all papercuts today when we use our modern replacement for IDEs. I think we could potentially improve the clabot here this to avoid the inaccurate “user has not signed the CLA” error response in this scenario when the driver of the system clearly has. That’ll require some care to make sure we’re getting it right.

* * *

Git is not an identity system. It is 100% free form text where any one can fill in anything they want. I can commit pretending to be Guido while Guido can commit pretending to be King Arthur. I’m pretty sure ShrubberyBot is secretly the Rabbit of Caerbannog. GitHub will happily show these as being authored by the account matching the arbitrary string any of us put in the author line. This is working as intended because identity is unsolvable.

The CLA bot is a practical attempt at conformance on our part. The other side of that is us as PR reviewers with a Merge button looking things over to be sure it makes sense. A PR put up by someone with commits having Author lines of others who are not present and involved would be suspicious and something we’re expected to catch and flag 🚩 on our own.

---

_[View the full topic](https://discuss.python.org/t/cla-bot-and-ai-agents/106635)._
