Skip to main content
agentConfig decides which agent-selection affordances the shell exposes.
The default is { mode: "AgentLibraryWithComposer" }.
Pins the UI to one named agent. All selection controls are hidden and the user cannot switch agents or open the composer.
Users pick from agents your searchAgents implementation returns, but cannot author a new one. Note that “new chat” is disabled in this mode only.
Agents dialog listing saved agents to choose from

Agents: users pick from the agents your searchAgents returns.

Users assemble an ad-hoc agent — model, skills, MCP servers — without browsing a library, and can save it back to the library.

Composing an agent — pick a model, add connectors and skills, then save it to the library.

Both surfaces, and the default. Users can pick an existing agent or author a new one.

Gotchas

defaultAgentSpec seeds a new draft rather than binding to the current one. Changing it does not alter the conversation on screen, and it does not apply on clear chat either — that path deliberately preserves the spec already bound to the draft. The new value is picked up when a new chat starts. To apply it immediately, remount the component with a new key. It is ignored entirely in SingleAgent mode.
Always pass an explicit defaultAgentSpec in composer modes. Omitting it falls back to { model: { name: "openai-main/gpt-4.1" } }, and requests fail if your backend does not expose a model under that exact name.

Settings

The settings panel appears only when your server exposes a catalog. Without one it is silently absent — there is no error, so an unexpectedly missing settings button usually means the catalog is not attached. Note that useCatalogServer() throws when there is no catalog; use useOptionalCatalogServer() in code that must tolerate its absence.