pi-marimo

Live marimo notebooks in Pi: kernel state in context, and a terminal notebook view (outline and detail, docked beside the chat) where you run cells, drive widgets and tables, and read what the agent changed.

Packages

Package details

extension

Install pi-marimo from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-marimo
Package
pi-marimo
Version
0.5.0
Published
Nov 13, 2026
Downloads
563/mo · 90/wk
Author
spencerboucher
License
MIT
Types
extension
Size
951.4 KB
Dependencies
5 dependencies · 5 peers
Pi manifest JSON
{
  "extensions": [
    "./src/index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-marimo

npm checks docs

The marimo notebook your agent is editing, live in your terminal beside the chat.

The agent adds a weekday vs weekend chart while the notebook runs beside the chat

pi-marimo is an extension for the Pi coding agent. Your agent edits the notebook through marimo pair; you watch it run, read it and steer it from the terminal, docked beside the conversation. You need the browser much less.

  • The notebook beside the chat. ctrl+' docks an outline of sections and cells, and the selected cell's output, error and code.
  • Real outputs in the terminal. Tables you can page, sort, search and filter; Matplotlib, Vega-Lite and live Plotly charts on Kitty-graphics terminals; widgets you drive with keys or the mouse.
  • What runs, as it runs. A spinner and elapsed time, the dataflow around the selected cell, the run chain, and errors with their tracebacks.
  • The agent knows the notebook. Each prompt carries the notebook's current state: cells, what they define, what is stale or broken.
  • What the agent changed, and undo. Changed cells are marked, with a diff, the cells it reruns, and u to revert.
  • A native pair agent. On marimo's host protocol, Pi attaches as an agent and receives the notebook's messages.

Install

You need Pi in a terminal (docking beside the chat needs "tuiMode": "fullscreen" in Pi's settings), Node 22.19 or later and marimo.

pi install npm:pi-marimo
npx skills add marimo-team/marimo-pair -s marimo-pair -a pi   # lets the agent edit cells

Quick start

  1. Open a notebook from Pi: /marimo new analysis.py, or /marimo edit analysis.py for an existing one, such as examples/demo.py. Pi starts the marimo server if none is running; no browser is needed.
  2. Ask the agent to work in it: "load sales.csv and chart revenue by month".
  3. Press ctrl+'. The notebook docks beside the chat and follows the running cell.
  4. ctrl+] switches between the chat and the notebook, and ? lists every key.

A notebook you already have open in the browser (started with marimo edit --no-token) is followed automatically when it is under Pi's working directory.

Compatibility

marimo 0.25.2 and marimo main (the host protocol); charts need a terminal with Kitty graphics (Ghostty, Kitty, herdr). Details and known gaps.

Documentation

Development

npm ci && npm run check

Live tests, the demo notebook and the docs build are in Development; releases and rollout are in AGENTS.md.

License

MIT. See LICENSE.