Controller

Sidebar tour

Find your way around Controller — radar, projects, worktrees, sessions, settings, and help.

The sidebar is the main way you navigate Controller. From top to bottom:

On radar

The top of the sidebar is On radar — the sessions you're actively keeping an eye on, each showing its provider icon and a spinner while the agent is working. Sessions that need your input rise to the top, followed by completed sessions you have not handled yet and then running sessions. Opening a conversation does not reorder this list; Next marks the current session as handled and opens the new first item. See Focus navigation.

Projects

The Projects list holds every local directory you've added. Each project expands and collapses, and a New button adds another. Per-project controls let you edit or delete the project. Use Add a project to register a new directory — see Your first project.

Worktrees

Expand a project to see its worktrees — the isolated git checkouts it manages. Each project starts with its main worktree. Ask the agent to create another worktree when you need an isolated branch. See Worktrees.

For follow-ups that continue an existing session, see Scheduled tasks.

Sessions

Expand a worktree to see its sessions — one entry per conversation with an agent, each with a provider icon and a status indicator (a spinner shows while the agent is working). Use New conversation on a worktree to start there. Click any session to open its full history. Removed worktrees retain their conversations for reading. Long lists load in batches with a Show more control.

Settings

The Settings button in the footer opens the configuration dialog, where you set provider API keys, model defaults, and manage your unified skills. Keys are stored by Controller and passed to the agent process as environment variables — you don't paste them into prompts. See Skills for the skills catalog.

Help

The Help icon in the footer opens this documentation site in your browser.

On mobile

On a narrow screen the sidebar collapses into a slide-over Sheet so the chat gets the full width; tap to open it, and it dismisses when you make a selection. This mirrors the responsive primitives used across the app. To use Controller from a phone in the first place, see Remote access.

On this page