Skip to content

Cerebellum v0.2.3 Install Guide (And Why It’s Now Deprecated)

Install Cerebellum v0.2.3 for AI browser automation, plus the deprecation notice every tutorial buries and what to migrate to next.

6 min readIntermediate

Every tutorial telling you to install Cerebellum in 2026 is selling you a corpse. The repo’s own release page now opens with a deprecation banner – and yet nobody writing about it seems to have noticed. So this guide does two things at once: it walks you through installing the last working version (v0.2.3) if you actually need it for a legacy project, and it tells you the truth about where the project went.

The directed-graph framing is what made Cerebellum interesting – each webpage is a node with visible elements and data, user actions are edges, and the LLM picks the next edge until the goal is reached or it gives up. A dozen newer browser agents copy that exact blueprint. Frozen or not, understanding the architecture pays off when you read their docs.

The deprecation nobody mentions

Straight from the source: the package is deprecated and no longer maintained. The maintainer’s release page points users to agent-browser-protocol, which scores 90% on Online Mind2Web. The final commit landed on March 11, 2026, and the last tagged release was v0.2.3 on December 5, 2024.

If you’re building something new, stop reading the install steps and go look at agent-browser-protocol instead. If you’re maintaining a 2024-era project that already pinned cerebellum-ai, keep going.

System requirements

Two flavors exist – the TypeScript package (Selenium-based, the one most tutorials cover) and the Python package on PyPI (Playwright-based, which has diverged). Pick one, don’t mix them.

Component TypeScript path Python path
Browser driver Selenium WebDriver + ChromeDriver or geckodriver Playwright (bundles its own browsers)
Python version N/A 3.11+ – 3.10 will crash with an ImportError
LLM Anthropic Claude 3.5 Sonnet only (as of late 2024) Gemini planner exposed; Anthropic also wired
API key ANTHROPIC_API_KEY GEMINI_API_KEY or ANTHROPIC_API_KEY

The TypeScript README explicitly states that Cerebellum only implements AnthropicPlanner using Claude 3.5 Sonnet – but the Python package’s example code imports GeminiBrowserPlanner and uses GEMINI_API_KEY. The two implementations were never feature-aligned, and now they never will be.

Install Cerebellum v0.2.3 (TypeScript path)

This is the recommended route because the TypeScript code is what every example online actually references. Install with npm i cerebellum-ai selenium-webdriver. Watch the package name – it’s cerebellum-ai, not cerebellum.

mkdir my-agent && cd my-agent
npm init -y
npm i cerebellum-ai selenium-webdriver

# macOS
brew install --cask chromedriver

# Set your key
export ANTHROPIC_API_KEY="sk-ant-..."

On Linux or Windows, grab the matching ChromeDriver from Chrome for Testing instead – the brew command is macOS-only. Make sure the driver version matches your installed Chrome major version, or Selenium throws a session-not-created error before Cerebellum even loads.

First-time configuration and a minimal run

Here’s the smallest config that actually does something. Save as index.mjs:

import { Builder, Browser } from 'selenium-webdriver';
import { AnthropicPlanner, BrowserAgent } from 'cerebellum-ai';

const browser = await new Builder().forBrowser(Browser.CHROME).build();
await browser.get('https://www.google.com');

const planner = new AnthropicPlanner({
 apiKey: process.env.ANTHROPIC_API_KEY,
 screenshotHistory: 3,
 pauseAfterEachAction: false,
});

const agent = new BrowserAgent(
 browser,
 planner,
 'Find the Wikipedia page for the inventor of the World Wide Web'
);

await agent.start();
await browser.quit();

Two planner options matter in practice. screenshotHistory controls how many screenshots get sent to the LLM, counted newest to oldest. pauseAfterEachAction makes the agent wait for a keyboard input between actions – useful when debugging why it keeps clicking the wrong button; default is false.

Pro tip: Set screenshotHistory: 1 during development. Each screenshot burns vision tokens on the Anthropic bill, and most failure modes show up in the most recent frame anyway. Bump it back to 3 only when the agent is clearly forgetting the previous step.

Verify it works

Run node index.mjs. A Chrome window should pop open, navigate to Google, then start typing. You’ll see the agent’s planned actions stream to your terminal. If the window opens but nothing happens, your API key is the first suspect – Anthropic returns a 401 silently inside the planner without crashing the script.

A quick health check: npm ls cerebellum-ai should print [email protected]. If it prints something else, you’ve got a stale install or you accidentally grabbed one of the namesakes.

The three-cerebellums npm trap

This one bites people and no tutorial warns about it. Three different packages on npm whose name contains “cerebellum,” and only one is the AI agent:

  • cerebellum-ai – the package you actually want. The browser agent.
  • cerebellum – “controls your isomorphic apps,” latest version 0.10.0, last published 9 years ago (per the npm registry). A Backbone-era framework with nothing to do with AI.
  • @cerebellum/cli – an AWS CDK deployment CLI, version 1.0.2. Completely unrelated.

Run npm i cerebellum by mistake and you’ll get a 2016 SPA framework with no error message hinting that you grabbed the wrong thing. The fix is the -ai suffix.

Common errors and fixes

ImportError: cannot import name ‘StrEnum’ from ‘enum’ – Python only. StrEnum landed in Python 3.11; on 3.10 the import in cerebellum/browser.py fails immediately (confirmed via GitHub issue #11). Either upgrade your interpreter or find a fork that backports it. No patch is coming from upstream – the project is frozen.

SessionNotCreatedError: This version of ChromeDriver only supports Chrome version X – your driver and your Chrome browser drifted apart. Update both to the same major version. The Chrome for Testing site above ships matched pairs.

Agent runs forever and never finishes – the goal is too vague or the page changed in a way the LLM can’t recover from. The README notes the process ends when the model decides the goal is reached or unachievable, but “unachievable” is a judgment call models sometimes refuse to make. Set a hard timeout in your own code; the library doesn’t enforce one.

Uninstall and what to do next

Removal is boring: npm uninstall cerebellum-ai selenium-webdriver and delete your ChromeDriver binary. brew uninstall --cask chromedriver on macOS. Clear the ANTHROPIC_API_KEY from your shell profile if you’re not using it elsewhere.

The real question is which successor to pick. Agent-browser-protocol comes from the same author and carries the 90% Online Mind2Web score from the deprecation notice. Browser-use is a separate active project worth benchmarking against your specific tasks. Either way, the mental model from Cerebellum – goal, plan, action, new state – still applies.

FAQ

Is it safe to use Cerebellum in production today?

No. No security patches, no dependency updates, no fixes for upstream Anthropic API changes.

Can I keep using my existing Cerebellum project until something breaks?

Yes, with one caveat: pin everything. Lock cerebellum-ai to 0.2.3, lock selenium-webdriver, and lock your Anthropic SDK version. The most likely break point is the Anthropic API itself – when Claude 3.5 Sonnet is eventually retired, the AnthropicPlanner won’t have a fallback model, and there’s no maintainer to ship one. Plan a migration before that happens, not after.

Why did the author abandon it if the architecture was sound?

The architecture was sound – that’s exactly why agent-browser-protocol exists. Sometimes the right move for a v0.2 project is to fork your own ideas into a cleaner v1 rather than accrete fixes onto an early prototype.

If you’re sticking with Cerebellum, run the install commands above and commit your package-lock.json tonight. If you’re not, open the agent-browser-protocol repo and read its README before you write another line of code.