diff --git a/packages/core/test/agent.test.ts b/packages/core/test/agent.test.ts
index a00554ca4fd..50e484b3c98 100644
--- a/packages/core/test/agent.test.ts
+++ b/packages/core/test/agent.test.ts
@@ -126,6 +126,7 @@ describe("Agent", () => {
yield* agent.transform((editor) => editor.update(id, () => {}))
const info = yield* agent.get(id)
+ expect(info?.mode).toBe("primary")
expect(info?.permissions.slice(0, Agent.Info.default(id).permissions.length)).toEqual(
Agent.Info.default(id).permissions,
)
diff --git a/packages/schema/src/agent.ts b/packages/schema/src/agent.ts
index cdc95bb77e3..422be62da6b 100644
--- a/packages/schema/src/agent.ts
+++ b/packages/schema/src/agent.ts
@@ -41,7 +41,7 @@ export const Info = Schema.Struct({
id,
name: Name.make(id),
request: { settings: {}, headers: {}, body: {} },
- mode: "all",
+ mode: "primary",
hidden: false,
permissions: [
{ action: "*", resource: "*", effect: "allow" },
diff --git a/packages/www/content/docs/(Configure)/agents.mdx b/packages/www/content/docs/(Configure)/agents.mdx
index ab11c6470cd..74b82c6fe3e 100644
--- a/packages/www/content/docs/(Configure)/agents.mdx
+++ b/packages/www/content/docs/(Configure)/agents.mdx
@@ -46,9 +46,9 @@ An agent's `mode` controls where it can run:
| Mode | Behavior |
| --- | --- |
-| `primary` | Can be selected as the main agent for a session. It cannot be launched as a subagent. |
+| `primary` | Can be selected as the main agent for a session. It cannot be launched as a subagent. This is the default for a custom agent when `mode` is omitted. |
| `subagent` | Can run in a child session through the `subagent` tool, but cannot be selected as the main agent. |
-| `all` | Can be used either way. This is the default for a custom agent when `mode` is omitted. |
+| `all` | Can be used either way. |
In the TUI, press Tab and Shift+Tab to cycle
through visible primary and `all` agents, or use `/agents` to choose one.