Skip to main content
The ARC-AGI-3 Kaggle Starter is a local dev kit for the ARC Prize 2026 - ARC-AGI-3 Kaggle competition. You edit one Python file on your laptop, see it play the real game environments locally, and push it to Kaggle as a submission with a single command. Repository: github.com/arcprize/ARC-AGI-3-Kaggle-Starter

Prerequisites

  • Python 3.12 (the competition’s arc-agi package requires it)
    • macOS: brew install python@3.12
    • Ubuntu: sudo apt install python3.12 python3.12-venv
    • Windows: install from python.org
  • A Kaggle account with the competition rules accepted (accept here).
  • A Kaggle API token created at Kaggle Settings → Create New Token. You’ll drop it into the project (no ~/.kaggle/kaggle.json required).
No GPU is required for the starter agent.

Quick start

When make status shows complete, open the notebook on kaggle.com, find your kernel, click Submit to Competition in the top right, and pick submission.parquet from the Output File dropdown. Steps 4-7 are the iteration loop; clicking Submit to Competition is the deliberate moment you spend a daily submission.

The one file you edit: agent/my_agent.py

This is the only file you normally touch. It defines a MyAgent class with two methods:
The starter picks random actions, a baseline that proves your pipeline works end-to-end. Replace the body of choose_action with your strategy. Kaggle plumbing, submission file format, and game orchestration are all handled for you.

What happens when you run make submit

The competition is a code competition: you submit a notebook, Kaggle runs it twice.
  1. Phase A: Save & Run All. Kaggle runs your notebook in their real environment and validates that the code executes without errors. make status will report complete.
  2. Phase B: Competition Rerun. Triggered when you click Submit to Competition on the kernel page. Your agent plays the hidden game set and your leaderboard score appears.
Before your first make submit, open notebooks/kernel-metadata.json and replace REPLACE_WITH_YOUR_USERNAME with your Kaggle handle. The Makefile will refuse to push until you do.

Choosing an accelerator

The notebook is generated with a T4 GPU by default (matches Kaggle’s sample submission). To change it, open scripts/build_notebook.py and edit one line near the top:
Re-run make submit. Both the notebook metadata and notebooks/kernel-metadata.json get updated automatically. RTX 6000 is reserved for ARC-AGI-3 notebooks. Don’t use it for early iteration. All accelerated Kaggle sessions have internet disabled, which is already the default in this kit.

All the commands

Why this setup instead of editing in the Kaggle notebook?

  1. Iteration speed. Editing in your IDE then running make play-local gives you a real-game-engine feedback loop in seconds. Kaggle’s editor loop is minutes per change.
  2. No environment surprises. The local arc-agi PyPI package hosts the same game engine the Kaggle gateway runs. If it works locally, it works on Kaggle.
  3. Your code stays in git. Notebooks are awful for diffs and code review. Your real work lives in agent/my_agent.py; the notebook is an auto-generated deployment artifact.

Project layout

Troubleshooting

make setup fails: python3.12: command not found. Install Python 3.12; the arc-agi package requires it. macOS: brew install python@3.12. make submit says “edit kernel-metadata.json”. You haven’t replaced REPLACE_WITH_YOUR_USERNAME in notebooks/kernel-metadata.json yet. make submit says 401 Unauthorized. Your Kaggle token is missing or invalid. Generate a fresh one from your Kaggle Settings page and overwrite .kaggle/access_token. make play-local says “Could not create environment”. Your machine couldn’t reach the ARC-AGI API to download the game source on first run. Check your internet, then try again. Once downloaded, games are cached in environment_files/ and you’re fully offline. My local score is 0.0. That’s expected for the random starter agent. Your job is to make it non-zero.

Where to go next

  • Read the rest of the ARC-AGI-3 docs to understand the benchmark.
  • Run make pull-sample to study Kaggle’s reference agent.
  • Join the competition’s discussion forum for community Q&A.