---
title: "Find a page"
description: "Use the sidebar to choose a task, then narrow the page with search, filters and a time period."
canonical_url: "https://docs.oz0.ai/getting-started/web-ui/navigation"
---
# Find a page

> Use the sidebar to choose a task, then narrow the page with search, filters and a time period.

For: People using the web UI.

Use the sidebar to choose a task, then narrow the page with search, filters and a time period.

## What you can do

The sidebar groups the pages in seven categories, by what you are trying to do, in the same words as the command line's help and these docs: **Run** (Overview, Jobs, Chats, Approvals), **Build** (Agents, Tools and skills, Plugins, Routines, Chat channels, Studio), **Improve** (Findings, Errors, Compare, Measured savings), **Govern** (Policy, Kill switches, Privacy, Incidents, Inventory, Audit log), **Fleet** (Nodes, Queues, Cluster), **Spend** (Cost, Budgets, Models and providers) and **Admin** (Access, Credentials, Settings).

A page shows when one of its tabs is yours to see, and a tab shows to whoever may see its part: a reader's **Govern** has Policy, Kill switches, Privacy (its labels, the erasure policy and works-council mode) and the inventory, and no incidents or audit log; a category with no page you may open is left out whole.

Each thing has one place, the page where it is changed; another page that shows it shows it read-only, with a link there (a function's verdict on **Tools and skills** links to **Policy**, the month's budget on **Cost** to **Budgets**, a plugin's setting under **Settings** to that plugin's **Configure** tab).

An older address of a thing that moved opens its new place, with the rest of what the address said, so bookmarks and links keep working: `/settings?tab=users` (**Access**), `/settings?tab=secrets` and `/connections` (**Credentials**), Settings' sections (`/settings?section=egress` opens **Policy**'s Egress, `?section=tenants` **Budgets**, `?section=backends` and `?section=regions` **Cluster**, `?section=labels`, `?section=erasure` and `?section=works-council` **Privacy**, `?section=four-eyes` and `?section=ai-label` **Policy**, `?section=notifications` and `?section=ask` Settings' own tabs), `/settings?tab=tokens` (**Nodes**' Join tokens), `/settings?tab=apikeys` (**Access**' API keys), `/governance?tab=kill` (**Kill switches**), `/governance?tab=replays` and `?tab=oversight` (**Policy**'s Replays and Statistics), `/teams` (**Access**' Teams) and `/compare/jobs`, `/compare/versions` and `/compare/agents` (**Compare**'s tabs); so does a budget request's link from before it named its tab (`/approvals?request=<id>`).

Pages that were renamed keep their address: **Privacy** is still at `/governance`. The page you are on is lit in it, a record's page included: a job lights **Jobs**, a node **Nodes**. The button at the bottom of the sidebar shows the icons alone, each naming its page when you point at it, and the browser remembers which you chose.

Each category opens and closes from its heading. **Run** starts open, and following a link opens the category that contains the current page, so the sidebar stays short without hiding where you are.

**⌘K** (**Ctrl K**), or **Search** at the top of the sidebar (below the tenant menu), finds any agent, tool, node, job, page, tab or action from the keyboard, by the words you would use for it, such as `egress` or `model key`. A page's result names its category (**Govern**), and a tab's its page too (**Govern › Policy**); the words a page or a category had before it was renamed or moved (`governance`, `operate`, `quality`, `label policies`, `budget and tenants`, `teams and quotas`) still find what they named ([search](https://docs.oz0.ai/improve/search-and-compare#search-everything)).

Lists filter at the top and open a row in a dialog in the middle of the window, near where you were looking, so you can look at one thing without losing your place; **Esc**, the close button or a click outside closes it. A dialog with a form you changed asks before it closes, so a stray click does not lose what you typed.

A page's address keeps its filters, its open tab, the row in the dialog and the step you opened, so a link shows what you saw. Hover over a job's ID anywhere to see what the job is.

## Periods, filters and pages

Every page with figures over time has the same period control at the top right: **Last 24 hours**, **Last 7 days**, **Last 30 days**, **This month**, or a **Custom range** of whole days, the last one included, up to 400 days and ending today at the latest. Figures are compared with the period of the same length before it.

The period is in the page's address (`?period=7d`, or `?period=custom&from=2026-03-01&to=2026-03-14`), so a reload or a link shows the same figures; an older link with `?days=7` still opens its preset.

Lists keep the same order above their rows: the search, then a dropdown for each filter with a known set of choices (status, agent, node, tenant, plugin, kind, severity; one with more than ten choices has a search of its own), then the period, then **Clear filters**. Below the rows, **Showing 26–50 of 60**, the pages and **25**, **50** or **100 a page**; a feed has **Load more** instead.

The filters, the page and its size are in the address too, and a change of a filter goes back to the first page. A list's pages after the first keep the period its first page was read with, so a period that ends now does not move under them: the server takes each page's token only with the period it was made for.

Every one of these controls works from the keyboard.

The lists of named things (nodes, plugins, routines, teams, people, API keys, secrets, credential bindings, connections, MCP Registry servers, the inventory, agents, tools and skills) are searched, filtered and paged on the server, so a tenant with thousands of them loads one page at a time. Their search finds words that start a name or a word of the description, a quarter of a second after you stop typing; their count is the whole list's that matches, not the page's; and a link to a row (`?peek=`) opens its dialog when that row is on another page.

**Queues** is the exception: Temporal answers every queue at once, so its search and filters run on that whole answer.

Form fields have their label above them, and a row of fields lines up by its labels.

A long form shows first what most people set, and keeps the rest in sections named by what they hold, such as **Authentication** or **Region and data retention**: a line with an arrow that opens and closes each. A section opens by itself when a field in it holds something other than its default or has an error, such as a save the server refused for one of its fields, and its line says how many of its fields are set (**2 set**), so a closed section never hides a choice someone made.

Your browser remembers whether you left a form's section open or closed, for that form; a section that holds something opens all the same. There is no switch between a simple and a full console: every field stays in the form that needs it. Each section's line is a button that screen readers announce as expanded or collapsed, **Enter** or **Space** opens and closes it, and the focus stays on it.

- **Models and providers**, a provider's form: its ID, description, base URL, key secret, formats, whether it is disabled or internal, and its models first; then **Authentication** (how calls are signed: the key header and what goes before the key, OAuth2, SigV4 or a federated token), **Region and data retention**, and **Pool, prices and translation** (the record's pool of deployments with each member's weight, its rate-limit headers and prompt-cache facts, which the CLI changes and a save keeps, the price source and a translation gateway).<br />

A record from a preset that names a region, or another header than `Authorization`, opens the section that holds it.
- **Access**, an identity provider's dialog: its scopes, username claim, groups claim and where groups come from, under **Scopes and claims**, with *Take its addresses as verified when its tokens do not say* when the username claim is `email` ([Sign-in](https://docs.oz0.ai/admin/sign-in/identity-providers#microsoft-entra-id)); the server's defaults (`openid profile email`, `preferred_username`, `groups`, the ID token) count as unset.
- **Settings**, **Notifications**, a rule: the agents and tools it is narrowed to, under **Agents and tools**; empty, a rule covers every agent and tool.
- **Plugins**, the install dialog's Git source: the folder of a repository that holds several plugins, the token secret of a private one and a Claude Code marketplace's plugin, under **Folder, token and marketplace**.

## Console page directory

[Look up each console page](https://docs.oz0.ai/getting-started/web-ui/page-directory) for its tabs, actions and permissions.

The Overview loads its summary independently of live fleet details, so a slow node or job query does not hide the figures and activity. Initial reads time out after ten seconds and offer **Try again**. Counts that have not loaded show a dash, and setup suggestions wait until their checks have answered.

[Back to Web UI](https://docs.oz0.ai/getting-started/web-ui).


## Sitemap

See the full [sitemap](https://docs.oz0.ai/sitemap.md) for all pages.
