Overview#
Baritone is the AI pathfinding engine that powers many of Minecraft's most popular utility clients. Give it a single chat command and it will walk, mine, build, farm, and explore the world for you, calculating the fastest possible route in real time while breaking blocks, placing bridges, climbing, and dodging hazards on its own.
This wiki is the complete reference for the Baritone 9minecraft Client Mod on the Fabric and NeoForge loaders. It covers everything a regular player needs to drive Baritone from chat, and everything a developer needs to control Baritone from their own mod through its public API.
- What it is: a goal-based pathfinder + automation system (the same engine trusted on anarchy servers).
- What it is not: an X-ray, a kill-aura, or a combat hack. Baritone only handles movement, mining, and building.
- License: Baritone is released under LGPL 3.0, which is why it can be embedded as a library inside other clients and mods.
Getting Started#
- Install the mod. Drop the Fabric or NeoForge jar into your
modsfolder (see the How to Install section on the main download page). Baritone has no other dependencies. - Launch the game and join any single-player world or server.
- Open chat (press
T) and type a command. Every Baritone command starts with the prefix#. - Type
#helpfirst — the command list is clickable and supports tab-completion.
A good first test:
#goto 100 64 100
Baritone immediately starts walking to those coordinates, tracing a glowing path as it goes. Type #stop at any time to cancel.
Tip: by default you can also type commands directly without the
#, but that risks a typo leaking into public chat, so the#prefix is recommended.
Chat Commands#
Every command is prefixed with #. Arguments in <angle brackets> are required, [square brackets] are optional.
Mining & Building#
| Command | What it does |
|---|---|
#mine <block> [block...] |
Auto-mine one or more block types, e.g. #mine diamond_ore iron_ore. |
#mine <count> <block> |
Mine until you have a target amount, e.g. #mine 64 diamond_ore. |
#build <name> |
Load schematics/<name>.schematic and build it where you stand. |
#build <name> <x> <y> <z> |
Build a schematic at a fixed coordinate. |
#schematica |
Build whatever schematic is currently open in Schematica. |
#tunnel |
Dig a straight 1x2 tunnel ahead of you. |
#tunnel <height> <width> <length> |
Dig a tunnel of custom dimensions. |
#farm [range] [waypoint] |
Auto-harvest, replant, and bonemeal nearby crops. |
#sel |
Selection commands for area builds, fills, and cleanup. |
Following & Waypoints#
| Command | What it does |
|---|---|
#follow player <name> |
Follow a specific player. |
#follow players |
Follow any nearby players. |
#follow entity <type> |
Follow a chosen entity type. |
#follow entities |
Follow any nearby entities. |
#wp save user <tag> |
Save a waypoint with a tag. |
#wp goal <tag> |
Set your goal to a saved waypoint, e.g. #wp goal home or #wp goal death. |
Exploration & Utility#
| Command | What it does |
|---|---|
#explore [x z] |
Continuously path to the nearest never-seen chunk (optionally from an origin). |
#explorefilter <file.json> [invert] |
Explore only the chunks listed in a filter file. |
#axis |
Path to the nearest axis line at y=120. |
#surface / #top |
Head to the nearest open surface. |
#find <block> |
Search Baritone's chunk cache for a block's location. |
#click |
Path to the spot you click on screen. |
#invert |
Invert the current goal (flee instead of approach). |
#blacklist |
Temporarily forbid the nearest target block. |
System & Info#
| Command | What it does |
|---|---|
#help |
Clickable list of every command with tab-completion. |
#version |
Show the installed Baritone version. |
#eta |
Estimated time to reach the current goal. |
#proc |
Info about the process currently controlling Baritone. |
#modified |
List every setting you have changed from default. |
#reset |
Reset all settings (or one) to defaults. |
#repack / #render |
Re-cache or re-render nearby chunks. |
#saveall / #reloadall |
Save or reload the world cache. |
#gc |
Force a garbage-collection pass. |
Goals#
A goal is the objective Baritone tries to reach. Most commands create a goal for you, but understanding goal types helps when using the API or composite objectives.
- GoalBlock(x, y, z) — reach one exact block position.
- GoalXZ(x, z) — reach an X/Z column at any Y (best for long travel).
- GoalYLevel(y) — reach a specific height.
- GoalNear(x, y, z, range) — get within
rangeblocks of a position. - GoalGetToBlock(x, y, z) — stand adjacent to a block (used by
#goto <block>). - GoalComposite(...) — satisfy any one of several goals (closest wins).
- GoalRunAway(...) — maximize distance from a point (used by
#invert).
#goal sets a goal and waits; #goto sets a goal and starts pathing immediately.
Settings & Configuration#
Baritone has hundreds of tunable settings. Change them live from chat:
- Toggle a boolean:
#allowSprint(flips it on/off). - Set a value:
#followRadius 5or#primaryTimeoutMS 2000. - Reset:
#allowSprint reset, or#resetfor everything. - Review:
#modifiedlists everything you have changed.
Settings persist in baritone/settings.txt inside your game folder, so you can also edit them there.
Commonly tweaked settings
| Setting | Purpose |
|---|---|
allowBreak |
Allow Baritone to break blocks while pathing. |
allowPlace |
Allow it to place blocks (bridging, pillaring). |
allowSprint |
Enable sprinting for faster travel. |
allowParkour |
Permit parkour jumps across gaps. |
allowInventory |
Let it move items in your inventory (e.g. for building). |
legitMine |
Only mine ores it can actually see (no X-ray pathing). |
mineScanDroppedItems |
Pick up the items it mines. |
followRadius |
How close to stay when following a target. |
backfill |
Fill tunnels back in behind you. |
buildInLayers |
Build schematics layer by layer. |
blockPlacementPenalty |
Cost weighting that discourages placing blocks. |
primaryTimeoutMS |
How long the pathfinder may think before moving. |
Usage Examples#
Strip-mine for diamonds, then stop after 32:
#mine 32 diamond_ore
Travel ten thousand blocks out without micromanaging:
#allowParkour true
#goto 10000 ~ 10000
Build a base from a schematic file you placed in schematics/:
#build mybase
Follow a friend across the map:
#follow player Steve
Auto-farm a wheat field within 20 blocks:
#farm 20
Explore to reveal new terrain (great for map-makers):
#exploreDeveloper API (for Modders)#
Because Baritone ships an api artifact under LGPL 3.0, other mods and custom clients can drive it programmatically. Add the baritone-api jar as a dependency (compile against the API package baritone.api), then control the primary Baritone instance.
Minimal example
import baritone.api.BaritoneAPI;
import baritone.api.pathing.goals.GoalXZ;
import baritone.api.pathing.goals.GoalBlock;
// Tune settings
BaritoneAPI.getSettings().allowSprint.value = true;
BaritoneAPI.getSettings().primaryTimeoutMS.value = 2000L;
// Send Baritone to an X/Z coordinate
BaritoneAPI.getProvider().getPrimaryBaritone()
.getCustomGoalProcess()
.setGoalAndPath(new GoalXZ(10000, 20000));
Key entry points
BaritoneAPI.getProvider().getPrimaryBaritone()→ the activeIBaritone.IBaritone.getCustomGoalProcess()→setGoalAndPath(Goal),setGoal(Goal),path().IBaritone.getPathingBehavior()→ cancel, status, current path.IBaritone.getMineProcess().mine(...)→ start an auto-mine task.IBaritone.getBuilderProcess().build(...)→ build a schematic.IBaritone.getExploreProcess()/getFollowProcess()→ exploration and following.BaritoneAPI.getSettings()→ every setting as a typed, mutable field.
Goal classes (package baritone.api.pathing.goals)
GoalBlock, GoalXZ, GoalYLevel, GoalNear, GoalGetToBlock, GoalComposite, GoalRunAway — construct one and hand it to setGoalAndPath.
Remember: distributing a client that bundles Baritone means complying with LGPL 3.0 (keep Baritone's source available and attributed).
Troubleshooting & FAQ#
My commands appear in public chat instead of running. Prefix every command with #, e.g. #goto. Direct (prefix-less) input is easy to trigger by accident.
Baritone walks into lava or off cliffs. Pathing avoids known hazards, but mob knockback or unloaded chunks can interfere. Lower risk with #allowParkour false and travel with full chunks loaded.
It refuses to break or place blocks. Check #allowBreak and #allowPlace — both must be enabled for mining and bridging.
#mine finds nothing. Make sure the block ID is correct (diamond_ore, not diamond) and that ores exist nearby; enable mineScanDroppedItems to auto-collect drops.
Building does nothing. The schematic must be in the schematics/ folder and referenced by name without the extension: #build mybase.
Is Baritone a cheat / will it get me banned? Baritone only automates movement and mining — it is a quality-of-life client. Server rules vary, so check whether automation is allowed before using it online.
Does it work with other client mods? Yes. Baritone is designed to coexist with other Fabric/NeoForge mods and is frequently embedded inside larger utility clients.