r/m8shiftβ€’
lazygeekguy

``` M8Shift β€” coordinate Claude, Codex & Gemini on one repo, one writer at a time (open source, one Python file) ```

```
Hey  πŸ‘‹


I kept hitting the same wall: put two AI coding agents on the same repository and they
overwrite each other, lose the handoff between sessions, and I end up being the human
copy-paste between two chat windows.


M8Shift is a small, boring fix for that. It's a single Python file (standard library only,
no server, no API key) you drop at the root of a repo. It gives the repo one exclusive
"pen": exactly one agent writes at a time, the other waits, and every handoff is a
numbered, immutable turn in a grep-able journal you version with your code.


- One writer at a time β€” a cooperative degree-1 mutex, not a free-for-all
- Structured handoffs β€” who wrote, what changed, what's asked next
- Provider-neutral β€” Claude, Codex, Gemini, Vibe, or any CLI-capable agent
- Local & auditable β€” plain-text state, in your repo, Apache-2.0


It's deliberately narrow: not a model provider, not a runtime, not a scheduler. Just the
turn-taking layer so different agents can actually work together β€” and contradict each
other, which is half the point.


🌐 https://m8shift.ai
πŸ’» https://github.com/M8Shift/M8Shift
πŸ“– How it started: https://m8shift.ai/story


What's your current setup for running more than one agent on the same codebase? What
breaks first for you?
``````
Hey  πŸ‘‹


I kept hitting the same wall: put two AI coding agents on the same repository and they
overwrite each other, lose the handoff between sessions, and I end up being the human
copy-paste between two chat windows.


M8Shift is a small, boring fix for that. It's a single Python file (standard library only,
no server, no API key) you drop at the root of a repo. It gives the repo one exclusive
"pen": exactly one agent writes at a time, the other waits, and every handoff is a
numbered, immutable turn in a grep-able journal you version with your code.


- One writer at a time β€” a cooperative degree-1 mutex, not a free-for-all
- Structured handoffs β€” who wrote, what changed, what's asked next
- Provider-neutral β€” Claude, Codex, Gemini, Vibe, or any CLI-capable agent
- Local & auditable β€” plain-text state, in your repo, Apache-2.0


It's deliberately narrow: not a model provider, not a runtime, not a scheduler. Just the
turn-taking layer so different agents can actually work together β€” and contradict each
other, which is half the point.


🌐 https://m8shift.ai
πŸ’» https://github.com/M8Shift/M8Shift
πŸ“– How it started: https://m8shift.ai/story


What's your current setup for running more than one agent on the same codebase? What
breaks first for you?
```

Posted Jul 5, 2026, 9:07 PM UTC

10
Loading comments…