Skip to content

Configuration

Settings live in marimo.json.

marimo.json, merged in this order: ~/.config/agents/marimo.json, ~/.pi/agent/marimo.json, then the project's .agents/marimo.json and .pi/marimo.json.

{
  "maxNotebooks": 8,
  "context": true,
  "liveCharts": true,
  "view": {
    "code": "open", "outputs": false, "split": false, "autoSplit": true,
    "chain": { "order": "file", "follow": "manual" },
    "lineNumbers": false, "diagnostics": "all", "showOutput": true, "icons": true,
    "editor": {
      "command": "nvim",
      "options": { "tabstop": 4, "shiftwidth": 4, "expandtab": true, "ignorecase": true, "smartcase": true, "scrolloff": 3 }
    }
  },
  "server": { "command": [] },
  "execution": { "command": [] },
  "completion": { "mode": "subscribed" },
  "pair": { "inbox": true }
}
key default
maxNotebooks 8 notebooks followed at once in auto mode (1 to 32)
context true put the notebooks' state in the agent's context
liveCharts true run Plotly charts live; false draws pictures
view.code "open" cells' code open, or "folded" to its first line
view.outputs false start with the whole section in the detail
view.split false open the view docked instead of full screen
view.autoSplit true dock a notebook when the agent starts running it
view.chain.order "file" the run chain's starting order: "file" or "run"
view.chain.follow "manual" "wave" shows the run chain when a run starts while you are following
view.lineNumbers false line numbers in source, fenced code and editor
view.diagnostics "all" "all", "errors", "warnings" or "none"
view.showOutput true show stdout and results; independent of diagnostics and view.outputs
view.icons true Nerd Font icons on status badges and diagnostics; false shows their labels alone and draws table checkboxes as ■/□ and newlines in values as ⏎, for fonts without those symbols
view.editor.command "nvim" Neovim executable as one nonempty string, not a shell command
view.editor.options see above native allowlist only: tabstop and shiftwidth integers 1–16, scrolloff 0–20, and booleans expandtab, ignorecase, smartcase
server.command [] how Pi starts marimo; empty means uv run marimo in a uv project, else marimo
execution.command [] argv prefix for official CLI execution; empty reuses a Pi-owned server's command/directory, then the server-command fallback
pair.inbox true attach to host-capable notebooks (marimo main) as an agent and turn notebook agent messages into prompts
completion.mode "subscribed" "subscribed", "all" or "off"; changed on session start/reload, without stopping computation

Live line-number, diagnostics and output toggles last for the Pi session and do not write the config file. view.outputs selects section view; it does not control output visibility. Invalid semantic settings use defaults and generate an aggregated warning; wrong-type values ignored during config merging remain silent.

MARIMO_TOKEN is sent to token-protected servers.