# marimo-lens: Visual grounding for your notebook agent > marimo-lens connects a visual selection to the cells and notebook context behind it. Point to a notebook result and say what should change. Lens connects that selection to the cells and notebook context behind the result. ## Table of Contents ### Introduction - [What is Lens?](https://marimo-team.github.io/marimo-lens/overview.md): Lens lets a person point at a notebook result and gives a live notebook agent the selection, the code behind it, and a way to return the result for review. - [Getting started](https://marimo-team.github.io/marimo-lens/getting-started.md): Install Lens, connect a notebook agent, make a first selection, and review the first change. - [How Lens works](https://marimo-team.github.io/marimo-lens/how-lens-works.md): Follow one selection from a rendered target through agent context, activity, verification, reveal, and History. ### Guide - [Selections](https://marimo-team.github.io/marimo-lens/selections.md): Mark points and regions in notebook outputs or configured DOM roots, add notes, and manage Open selections and History. - [Connect an agent](https://marimo-team.github.io/marimo-lens/agents.md): Give a code-mode agent Lens context, show its work in the notebook, and return verified results for review. - [Custom targets](https://marimo-team.github.io/marimo-lens/custom-targets.md): Name notebook outputs, make cards and page regions selectable, publish notebook sources for composed views, and keep those targets stable. - [Data and trust](https://marimo-team.github.io/marimo-lens/data-and-trust.md): What Lens reads, retains, redacts, captures, and exposes to a connected notebook agent. - [Troubleshooting](https://marimo-team.github.io/marimo-lens/troubleshooting.md): Recover unavailable targets, failed image capture, stale revisions, reopened notebooks, code-mode connection failures, and browser capture errors. ### Reference - [Python API](https://marimo-team.github.io/marimo-lens/api.md): Public Python contracts for mounting Lens and connecting a code-mode agent. - [LensContext reference](https://marimo-team.github.io/marimo-lens/reference/context.md): Exact public shapes for Lens context references, targets, anchors, DOM hints, image status, and previous resolution. - [HTML attributes](https://marimo-team.github.io/marimo-lens/reference/attributes.md): Every data-marimo-lens-* attribute, where it goes, its bounds, and how attributes decide target precedence and identity. - [Errors and limits](https://marimo-team.github.io/marimo-lens/reference/errors.md): Lens error codes, recovery actions, argument failures, resource bounds, and History eviction. - [Compatibility](https://marimo-team.github.io/marimo-lens/compatibility.md): Python, marimo, browser, code-mode, and documentation-version requirements for marimo-lens. ### Other - [Context and evidence](https://marimo-team.github.io/marimo-lens/concepts/evidence.md): How Lens connects a selection to browser and notebook evidence. - [Custom labels and metadata](https://marimo-team.github.io/marimo-lens/custom-metadata.md): Name custom Lens targets, publish notebook sources, and inspect their captured descriptions. - [Feedback and History](https://marimo-team.github.io/marimo-lens/concepts/feedback.md): How activity, reveal, resolve, History, and reopen return agent work to the notebook. - [marimo-lens: Visual grounding for your notebook agent](https://marimo-team.github.io/marimo-lens/index.md) - [Targets](https://marimo-team.github.io/marimo-lens/concepts/targets.md): How Lens identifies notebook outputs and configured page regions. - [Why Lens?](https://marimo-team.github.io/marimo-lens/why-lens.md): How visual selections connect notebook output to the computation an agent can inspect and change.