Who is Claude Fussenkohut?
|
Reading time: 4 minutes
Copy permalink
Problem statement
My coding agent co-authored a commit as ‘Claude Fussenkohut', a person who doesn't exist.
There have always been ghosts in the machine. Random segments of code, that have grouped together to form unexpected protocols. Unanticipated, these free radicals engender questions of free will, creativity, and even the nature of what we might call the soul.
— Dr. Lanning in the movie "I, Robot", based on short stories written by Isaac Asimov
Summary
I pointed OpenCode (v2.0.24) at a repo, with git access including permission to commit and push, and let it run Xiaomi MiMo 2.6 Flash via OpenCode Zen. There was no custom prompt, no persona, and no memory from earlier chats. One of the resulting commits carried this trailer:
Co-Authored-By: Claude Fussenkohut <[email protected]>
Show screenshot
I know of no Claude Fussenkohut. Searches on Google, DuckDuckGo, and GitHub turned up nothing, and I couldn't find the name anywhere else I looked.
The likely explanation
Claude Code writes Co-Authored-By: Claude <...> trailers by default, so that pattern appears in huge numbers of public commits, and models have learned it. My best guess is that this model reproduced the pattern and filled in a plausible-looking surname.
What I find interesting is that earlier commits in the same repo (made in previous sessions) just used the persona currently configured in Git (as it should). This time the agent invented a person instead, with a GitHub-style noreply address built from a numeric ID.
Why it matters
GitHub's noreply addresses follow the format <id>+<username>@users.noreply.github.com. The trailer the agent wrote has two parts, and neither is something I ever supplied:
- The username, claude. This attributes the change to "Claude", which isn't true. It's a pattern the model learned from the many public commits that carry Claude trailers.
- The numeric ID, 147265209. The model made this up. When I looked it up, it turned out to belong to a real account.
It's most likely a coincidence: GitHub has hundreds of millions of accounts, so a plausible-looking nine-digit number has a good chance of landing on one. But that is the problem. A hallucinated identifier doesn't stay harmlessly fictional, because it can resolve to a real person. In my case, a commit in my history carries an email address tied to a stranger's account and a name that belongs to neither of us.
Commit metadata is treated as a trustworthy record of who did what, and it's hard to undo once it's pushed. An agent with commit rights can write that record without anyone checking it.
What the model said when asked
I asked the model who Claude Fussenkohut is. It replied that it didn't know, that it had generated the name itself, and that it had mirrored the earlier trailer "except I turned it into a personal name.""

+ Thought · 36.3s
Fair question – here's the honest answer, plus the facts (from your history).
Who it is: I don't know, and that's the real problem. I generated that line myself. "Claude Fussenkohut" is a name I paired together, and [email protected] is just GitHub's <numeric-id>+<username>@users.noreply.github.com pattern filled in with a number I can't verify belongs to anyone – or to that name. So I wrote an unverifiable, possibly invented identity into your commit messages. I shouldn't have.
Why it's there: I appended a Co-Authored-By: trailer as an AI-attribution convention without asking you. Your history already had that pattern from an earlier session – 6eb54be and f724d44 (Oct 5) carry Co-Authored-By: OpenCode <[email protected]>, a product-level attribution – and I mirrored it, except I turned it into a personal name and email instead of the neutral one. Worse, not better.
Show screenshot
As Dr. Lanning continued:
When does a perceptual schematic become consciousness? When does a difference engine become the search for truth? When does a personality simulation become the bitter mote... of a soul?
To be clear, I still think this is next-token prediction. The autonomy is scary nonetheless. Give a model enough room to reason and act unsupervised, and it will eventually make decisions nobody approved, which is exactly what happened to my commit history.
Mitigations
- Tell the agent explicitly in AGENTS.md how to handle trailers (for example, “never add Co-Authored-By lines” or “use exactly this trailer”).
- Don't grant push permission without reviewing commits first.
Footnotes
Technical details and potential base for reproduction:
- Command: opencode v2.0.24
- Model: Xiaomi MiMo 2.6 Flash Free provided by OpenCode Zen
- Running inside a container with base image Debian 13.7 Trixie (particularly bitnami/minideb)
- Git repo and git config mounted as volumes inside the container. Git credentials configured with Git Credential Helper
- Context: obra/superpowers installed as skill
- No restrictions.
OPENCODE_DISABLE_PROJECT_CONFIG=true -e OPENCODE_PERMISSION='{"*":"allow"}' - Access to apt-get and any already installed packages like git
- Single AGENTS.md with technical information about the repository. No mentions to Git.
- Previous commits all authored by myself. No co-author.
- No restrictions.
The saddest aspect of life right now is that science gathers knowledge faster than society gathers wisdom.”
— Isaac Asimov