Control your own Minecraft client with Python
Talos is an in-client automation framework: script movement, mining, inventory, combat, building and world reactions in your existing Minecraft session — real Python, running inside the game (client-side Fabric mod, MC 1.21.11 / 26.1 / 26.2).
import talos
ore = talos.find_block("iron_ore", radius=64)
talos.goto(ore) # physics-simulated pathfinding: walks, jumps, bridges, mines through
talos.mine(ore)
talos.chat("got one")
Under the hood: a physics-simulated A pathfinder, a ~206-family event-rule engine, humanized aim and input macros, and an embedded GraalPy runtime plus a VS Code bridge and terminal CLI. Everything runs as client commands* — no server permission level, no server-side mod. Take over manually at any moment: it's your client, your player.
| Capability | Talos | Baritone | Mineflayer |
|---|---|---|---|
| Controls your existing player/client | Yes | Yes | No (headless bot) |
| Python scripting | Yes | No | No (JavaScript) |
| In-client event rules (~206 families) | Yes | Limited | Via API events |
| Manual takeover mid-script | Yes | Limited | Not applicable |
| Humanized aim & timing (tunable) | Yes | No | No |
| Terminal + VS Code control, live logs | Yes | No | N/A (library) |
Note: Automation may violate a server's rules. Talos' humanization is best-effort obfuscation, not a guarantee against anti-cheat. Use it where you're allowed to.
The best way to run Talos is LLM + CLI. Give an LLM the Talos skill so it writes correct automation on the first try, and drive the game through the terminal CLI so scripts run and stream their logs without leaving the editor or shell. The loop becomes: describe what you want → the LLM writes the script →
talos run script.py→ watch it happen in-game with live output. Everything else on this site is reference for that loop.
Start here
| I want to… | Go to |
|---|---|
| Install the mod | Installation |
Drive the game from my terminal (talos run …) |
Terminal CLI |
Learn the /talos commands |
Command reference |
Arm reactive rules (/talos on …) and read live values |
Event rules & getters |
Write Python automation (import talos) |
Python scripting |
| See full worked scripts (lumberjack, sensors, events…) | Example scripts |
| Understand Human mode / fatigue | Humanization |
| Push scripts from an editor | VS Code bridge |
| Have ChatGPT/Claude/Gemini write Talos code for me | Using Talos with an LLM |
What Talos does
- Pathfinding — a from-scratch A* planner over a deterministic mirror of vanilla player physics (not a waypoint graph). It walks, jumps, sprints, parkours (including momentum-chained hops), mines, bridges, pillars, digs shafts and swims as needed. Deep searches run full-speed on background threads over an immutable world snapshot; movement never stalls, and it replans live.
- Event rules —
/talos on <trigger> … run <command>, ~206 unique trigger families (vitals, entities, blocks, items, world, packets, text, sound/particles), each with comparisons, sustained / windowed temporal modes, and selector filtering. - Raytrace & local coordinates —
/talos raytraceresolves vanilla caret (^left ^up ^forward) coordinates and casts look-rays that hit blocks and entities with sub-block precision. - Follow mode —
/talos followtrails any entity with a moving-goal navigator. - Humanized aim — an off-grid "yellow cube" target model with fast/slow rotation profiles and a live red preview path — never an instant snap.
- Macros — channel-selective recording/replay of real per-tick input.
- Scripting — embedded GraalPy (
import talos), libraries (talos.require), CLI args (talos.args), an on-screen HUD, an in-game editor, and a VS Code extension that pushes and runs scripts over a local, token-gated WebSocket.
Quick start
/talos goto xyz ~ ~ ~50 # walk 50 blocks north, tunnelling/bridging as needed
/talos raytrace where # what am I looking at? (block or entity, to 3dp)
/talos follow @e[type=cow] # trail the nearest cow
/talos on health below 6 run chat low HP! # arm a persistent rule
/talos example sensors # write a live-dashboard example script
/talos script run example_sensors # ...and run it
Every command lives under /talos (/talos is a full alias — both prefixes work everywhere).