Quick Reference
| Setting | Options | Default | Stored In |
|---|---|---|---|
| Theme | light, dark, system | system | Synced (Automerge) + settings file |
| Default runtime | python, deno | python | Synced (Automerge) + settings file |
| Default Python env | uv, conda | uv | Synced (Automerge) + settings file |
| Default uv packages | list of strings | (empty) | Synced (Automerge) + settings file |
| Default conda packages | list of strings | (empty) | Synced (Automerge) + settings file |
How Settings Sync Works
Settings are synced across all notebook windows via the runtimed daemon using Automerge. The daemon holds the canonical document; each notebook window maintains a local replica.When you change a setting in any window, it propagates to all other open windows in real time.
Sync Architecture
- Source of truth: The Automerge document in the daemon
- Persistence: Settings are also written to
settings.jsonin the same nested format - External edits: The daemon watches
settings.jsonfor external changes (manual edits, CLI tools) and propagates them to all connected windows automatically - Fallback: When the daemon is unavailable, settings are read directly from
settings.json - Theme special case: Theme also uses browser localStorage to prevent a flash of unstyled content on startup
Automerge Document Structure
The synced settings use nested maps for environment-specific configuration:uv/ and conda/ sub-maps, making the schema extensible without adding more root-level keys.
Settings File
Settings are persisted to a JSON file shared across all notebook windows. Both the daemon and the notebook app write the same nested JSON format.- macOS
- Linux
- Windows
Example Settings File
JSON Schema
The settings structs deriveschemars::JsonSchema. Both SyncedSettings (in runtimed) and AppSettings (in the notebook crate) serialize to the same JSON schema.
Theme
Controls light/dark appearance for the notebook editor and output viewer.- Light — forces light mode
- Dark — forces dark mode
- System — follows your OS preference and updates automatically when it changes
Default Runtime
Determines which runtime is used when creating a new notebook with Cmd+N (or Ctrl+N on Windows/Linux)."python", "deno"
You can always create a notebook with a specific runtime using the File > New Notebook As… submenu.
Opening Notebooks
- Open existing notebook: Use File > Open > Open… to select from the file picker
- Sample notebooks: Browse bundled examples under File > Open > Sample Notebooks
Default Python Environment
Controls which package manager is used for Python notebooks when no project-level configuration is detected."uv", "conda"
- uv — uses uv for package management (fast, pip-compatible)
- conda — uses conda/rattler for package management (supports conda packages)
If the notebook directory contains a
pyproject.toml or environment.yml, the environment type is determined by that file instead of this setting.Default Packages
Controls which packages are pre-installed in prewarmed environments. These packages are available immediately when you open a new notebook, without needing to add them as inline dependencies. Since uv and conda have different package ecosystems, packages are configured separately:ipykernel and ipywidgets (which are always included).