Infinite Craft Trainer

A CLI overlay for neal.fun/infinite-craft

Install

Quick Start
Chrome Extension
Userscript
  1. Go to neal.fun/infinite-craft
  2. Open the browser console:
    Chrome/Edge: Ctrl+Shift+J / Cmd+Option+J
    Firefox: Ctrl+Shift+K / Cmd+Option+K
    Safari: Cmd+Option+C (enable Developer menu in Settings first)
  3. Click the button below, then paste into the console and press Enter

You'll need to paste the code each time you reload the page. For a persistent install, use the Userscript tab.

Install from Chrome Web Store

After installing, visit neal.fun/infinite-craft — the trainer loads automatically.

Also works in Edge, Brave, and other Chromium browsers. For Safari, use the Userscript tab.

Install Tampermonkey (Chrome/Edge/Safari) or Violentmonkey (Chrome/Firefox), then click below:

Install Userscript

The userscript runs automatically every time you visit neal.fun/infinite-craft — no pasting required.
Your discoveries are saved to the game's IndexedDB, so they persist and show up when you refresh.

Commands

Combine & crawl
<element> + <element> — Combine two elements (chains: a + b + c)
<element> ++ <element> — Crawl: generations over a growing pool until one adds nothing
/combine, /crawl — Slash forms of the above

Bulk combine
<query> * <query> — Cross-combine matches from both queries (also /cross)
/with <element> <query> — Combine element with all matching discoveries
/permute <query> — Combine all matching elements with each other
/permutate <query> — Permute repeatedly until no new discoveries
/exhaust <query> — Each match combined with all discoveries
/lucky [count] — Try random untried pairs — entropy mining (default 10)

Scripting (every non-slash line is a script)
stmt ; stmt — Run statements in sequence
name := expr — Bind a set for this script run
a* , b* — Union  a* - b* — difference  a* & b* — intersect
a* / b* — Keep a* having a known recipe with b* (% = lacking)
(expr)* (expr)** (expr)! — Permute / permutate / exhaust the set
(expr)100 (expr)100? (expr)? — First 100 / random 100 / shuffle; (expr)(|x*|) = dynamic count
[ expr ] / [] — New elements made by expr / by the last operation
^(expr) — First discoveries only
set @ body / set @x body — For each element (as _ or x) run body
body -> cond — Run body, repeat until cond is true
body ~ cond — While cond is true, run body
cond ? body : body — Conds: |expr| sizes, comparisons, && ||
"exact name" — Quoted = exact element (spaces, commas, shadowed names)
/script — Run a saved .ice script file

Query syntax — substring (default), * ? [] wildcards, /pattern/ regex, !<query> exclude, ^<query> first discoveries only

Discoveries & recipes
/search <query> — Search discoveries
/recipe <element> — Show shortest recipe from base elements
/list — List all discovered elements
/import <element|file.ic> — Import from Infinibrowser or .ic save file
/fill — Fetch missing recipes from Infinibrowser
/unfilled — List elements without recipes
/prune — Remove orphan elements Infinibrowser can't fill
/export — Download discoveries as .ic file
/history — Show combinations this session
/queue — Running and pending commands (also shown in the sticky panel)

Modes
/target <element> — Ask y/n to continue the batch when this is crafted
/auto [on|off] — Auto-approve bulk y/n confirms (bare /auto toggles)
/relay [on|off|status] — Hive mind: shared pair cache with other users (bare /relay toggles; on by default)
/clear — Clear output
/help — Show commands in the trainer

Tips

Use Up/Down arrows to scroll through command history.

Bulk operations show a Stop button; runs over 200 pairs ask y/n first (skip with /auto).

New elements appear in the game's sidebar live — no refresh needed — and elements you craft by hand are picked up by the trainer too.

Pure queries (like a bare fire*) run instantly, even while a bulk command is working.

For the full desktop CLI with more features, install the Python package.