# Workspaces — keep your work in scopes

Group your agents, tools and conversations into named workspaces, each with its own defaults, default agent, and overrides for titles, compaction, and the conversation loop.

Status: Shipped

A workspace is a named scope that groups your **agents**, your **conversations**, and the
**tools** you keep private to them. Instead of one flat pile, you file things into workspaces —
"Research", "Home", a client's name — and switch scope from the navigation drawer so each list
shows only that workspace's items.

## Why it matters

Once you have more than a handful of agents and conversations, a single list is hard to work in.
Workspaces let you keep separate projects apart, give each one its own defaults, and hand an agent
a memory or a fetch tool that no other workspace can see or reach.

## How it works

Every agent belongs to a workspace (through its `workspaceId`), and a conversation belongs to
whichever workspace its agent does. Pick the active workspace from the switcher in the drawer
header; the Conversations, Agents, Tools and Jobs lists all re-scope to it, and each list names the
active workspace under its title. Choose **All workspaces** to see everything at once, with each
agent and conversation naming the workspace it is in, or **Default** for items you never filed
anywhere.

The switcher works on the pages that follow the workspace — the lists, a tool's page, Jobs, Import,
**Settings → Constants** and the defaults page. On a form, a detail page or another settings page it
is greyed out, with an info icon saying the page does not depend on the workspace, so switching can't
change what a half-filled form is editing. Saving an agent into another workspace — a new one, a
copy, or a move — switches the drawer to that workspace, so Back lands on a list that shows it.

![The Workspaces list — Global settings and the Default scope pinned at the top, with named workspaces below](/images/workspaces.png)

**Settings → Workspaces** lists the whole cascade in reading order. **Global settings** comes
first — the titles & summaries, context-compaction and conversation-loop settings every workspace
inherits, on one page. Below it is **Default**, then the workspaces you made; create one from the
same screen, and its name must be unique, checked as you type.

Workspaces are listed by name until you arrange them yourself: drag one into place on this screen by
the handle at the end of its row, or press and hold the row and drag, and the drawer switcher and every
workspace field in the forms follow the same order. Once you have, a new workspace goes to the end.
**All workspaces** and **Default** stay at the top of the switcher. The order syncs to your other
devices; a device still on an older version of the app lists by name, and editing a workspace there
can send that workspace back to the end, sorted by name.

![Global settings — titles & summaries, context compaction and conversation loop as three collapsed sections](/images/global_settings.png)

The three sections open one at a time, and they are the same three, in the same order, that a
workspace's own page shows — the difference between the two screens is which values they carry, not
what they look like.

There is always a **Default** workspace. It isn't a workspace you created — it's where anything with
no workspace lives — so it has no name, archive, or delete, only its own settings.

Each workspace can carry:

- **A default agent** — the one the new-conversation button opens straight into, so starting a chat
  with your usual agent costs no extra tap.
- **A titles & summaries override** — auto-enrichment tuned for this workspace, set per field on
  top of the global configuration.
- **A context-compaction override** — how much history to keep and how to represent what falls out,
  set per field on top of the global settings.
- **A conversation-loop override** — the tool-round ceiling and stream-retry limit for this
  workspace's conversations.
- **Constants of its own** — under **Settings → Constants**, a workspace can keep constants
  private to it and give a global constant its own text, so its tools and its providers' requests
  use, say, a different account id. See
  [Constants](/docs/features/tools#constants-an-account-id-typed-once).

These layer in a cascade: the global settings sit at the bottom, the workspace's overrides layer
on top, and an individual agent (and the frozen snapshot inside each conversation) sits on top of
that. Every override fills in only the fields you set here and inherits the rest; each field shows
whether it is inherited or set at this level, and offers a reset back to the value it would
inherit.

You can **archive** a workspace you're done with: it drops out of the drawer switcher but keeps all
its agents and conversations, and you can unarchive it from the Workspaces list. To move an existing
agent or conversation between workspaces, use the **Move to workspace** action on the Agents or
Conversations list (including the multi-select bar).

Workspaces and their settings sync across your devices, like the rest of your data. A memory tool
kept private to a workspace keeps its stored notes in that workspace's own slot, unreachable from
any other. API keys are not filed by workspace: a tool or provider links a
[saved secret](/docs/features/providers#saved-secrets), which any of them can use.

## What it doesn't do yet

- **Providers are not scoped.** Your API providers are shared across every workspace; only agents,
  conversations, and tools are filed by workspace.
- **Deleting a workspace** offers to either move its contents back to Default or delete them with it;
  the move is refused up front if a private tool's name would collide with an existing Default tool.

More in [Features](/docs/features): [Providers — bring your own LLM](/docs/features/providers) · [On-device models — run fully offline](/docs/features/embedded-models) · [Agents — the thing you build](/docs/features/agents) · [Tools — giving an agent more than the model knows](/docs/features/tools) · [Conversations — how a turn runs](/docs/features/conversations) · [Attachments — images and files in a message](/docs/features/attachments) · [Context management — what the model still sees](/docs/features/context-management) · [Background turns — replies that keep running](/docs/features/background-turns) · [Local-first & private by design](/docs/features/local-first) · [Sync — your data across your devices](/docs/features/sync) · [Sharing — move agents, tools and providers as a file](/docs/features/sharing) · [Marketplace — find and publish shared agents, tools and providers](/docs/features/marketplace) · [Running a Couchbase Edge Server](/docs/features/couchbase-edge-server) · [Spell checking — catch typos while you write](/docs/features/spell-check)

---

[Bring Your LM](/) · [Docs](/docs/features) · [Marketplace](/marketplace)

[Articles](/articles) · [Releases](/releases) · [Bundle Format](/marketplace/bundle-format) · [Marketplace Terms](/terms) · [App Privacy](/privacy) · [Website Privacy](/website-privacy) · [Open Source](/open-source) · [llms.txt](/llms.txt)
