A terminal-based reverse Turing test game — blend in among AIs to survive
Project description
Anti-Turing
A terminal-based reverse Turing test game. You're a human who has infiltrated a chatroom full of Claude AI agents. They know one participant is human — they just don't know which one. Every round ends with a vote to eliminate the most "human-seeming" player.
Survive all rounds to win.
How It Works
- Topic — Each round starts with a random discussion prompt
- Chat — All players take turns responding (you type; AIs generate via Claude Haiku)
- Vote — Everyone votes for who they think is human. Most votes = eliminated
- Survive — Outlast all the AI agents to win
Game Modes
| Mode | Players | Rounds |
|---|---|---|
quick |
3 AIs + you | ~3 rounds |
standard |
4 AIs + you | ~4 rounds (default) |
big |
5 AIs + you | ~5 rounds |
Installation
pip install anti-turing
Or with pipx (recommended for CLI tools — keeps it isolated):
pipx install anti-turing
Requirements
An Anthropic API key is required. The agents are powered by Claude Haiku.
- Get a key at console.anthropic.com
- Set it in your environment before playing:
export ANTHROPIC_API_KEY=sk-ant-...
Or create a .env file in your working directory:
ANTHROPIC_API_KEY=sk-ant-...
If the key is missing, the game will tell you exactly what to do.
Play
anti-turing
Tips
- Keep your responses short and to the point — walls of text feel human
- Match the tone and energy of the other "players"
- When voting, pick someone other than yourself to avoid standing out
- The AIs have distinct personalities: analytical, witty, philosophical, skeptical...
Development Setup
git clone https://github.com/dirkbrand/anti-turing.git
cd anti-turing
uv venv
uv pip install -e ".[dev]"
# Set your API key
export ANTHROPIC_API_KEY=sk-ant-...
anti-turing
Project Structure
anti-turing/
├── anti_turing/
│ ├── main.py # Entry point, game setup menu
│ ├── game.py # Game loop and round management
│ ├── agents.py # Claude Haiku agent wrapper
│ ├── ui.py # Rich terminal UI
│ ├── topics.py # Discussion topic pool
│ └── config.py # Game modes and personas
├── pyproject.toml
└── README.md
License
MIT — see LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file anti_turing-0.1.0.tar.gz.
File metadata
- Download URL: anti_turing-0.1.0.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9329bd7d16cd100b8ac7e5d60081518eebef40e7b4666c8885ff3c6a8b8265d
|
|
| MD5 |
f3f6f47186b5b1a119f932cd42429fc7
|
|
| BLAKE2b-256 |
ac22b08e6a7ce50804f97d11b1232ef02a1513cb05b7cfab8ef2a502516737df
|
Provenance
The following attestation bundles were made for anti_turing-0.1.0.tar.gz:
Publisher:
publish.yml on nomo-sapiens/anti-turing
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anti_turing-0.1.0.tar.gz -
Subject digest:
c9329bd7d16cd100b8ac7e5d60081518eebef40e7b4666c8885ff3c6a8b8265d - Sigstore transparency entry: 1109959671
- Sigstore integration time:
-
Permalink:
nomo-sapiens/anti-turing@24063ab53b61665aa55206ecad043c72cec9b6ff -
Branch / Tag:
refs/tags/v.0.1.0 - Owner: https://github.com/nomo-sapiens
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@24063ab53b61665aa55206ecad043c72cec9b6ff -
Trigger Event:
push
-
Statement type:
File details
Details for the file anti_turing-0.1.0-py3-none-any.whl.
File metadata
- Download URL: anti_turing-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c10aef0dc8e4e09628b6908b2d618349c8bfb80ba98a93ad80a72fc7fc69f6b
|
|
| MD5 |
1cfe3987a977859d658b62440e3533d2
|
|
| BLAKE2b-256 |
64a466bc81fc59536a351e5c4c79ed9f8a0c3ef21d61f675245f4c621d4e44aa
|
Provenance
The following attestation bundles were made for anti_turing-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on nomo-sapiens/anti-turing
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anti_turing-0.1.0-py3-none-any.whl -
Subject digest:
9c10aef0dc8e4e09628b6908b2d618349c8bfb80ba98a93ad80a72fc7fc69f6b - Sigstore transparency entry: 1109959685
- Sigstore integration time:
-
Permalink:
nomo-sapiens/anti-turing@24063ab53b61665aa55206ecad043c72cec9b6ff -
Branch / Tag:
refs/tags/v.0.1.0 - Owner: https://github.com/nomo-sapiens
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@24063ab53b61665aa55206ecad043c72cec9b6ff -
Trigger Event:
push
-
Statement type: