Skip to content

Chat

You interact with NimbleBrain by chatting with an agent that has access to all the tools provided by your installed apps. The agent processes your message, decides which tools to call, executes them, and streams the response back to you.

You chat with NimbleBrain in the browser. Type a message in the input field at the bottom and press Enter to send. For multi-line messages, use Shift+Enter to add a new line.

During a response, you see streaming states:

  • Thinking — the agent is processing your message and deciding what to do
  • Streaming — text is arriving from the model in real time
  • Working — a tool call is in progress

Tool calls appear inline as expandable cards. Each shows the tool name, which app it belongs to, and whether it succeeded or failed. Expand a card to see what the tool returned.

External MCP clients (Claude Desktop, Cursor, and others) can also drive the agent over the /mcp endpoint. See Connect via MCP and External Clients.

In the web UI, the chat panel has three modes:

ModeWhat it looks likeWhen to use it
ClosedSmall button in the bottom-right cornerWhen you’re focused on an app and don’t need chat
SidebarFixed panel on the rightThe default — chat alongside an app
FullscreenChat fills the entire content areaFor focused, longer conversations

Switch modes with the expand/collapse icons in the chat header or with keyboard shortcuts. See Keyboard Shortcuts.

To drive the agent from your own code or another tool, connect any MCP client to the /mcp endpoint instead of the chat UI. See Connect via MCP for the endpoint, authentication, and the tools it exposes.

The agent has access to:

  • App tools — every tool from every installed MCP bundle (for example granola__list_meetings, bash__execute)
  • System tools — built-in tools prefixed with nb__:
ToolPurpose
nb__searchSearch installed tools (scope: "tools") or the mpak registry (scope: "registry")
nb__statusPlatform status; scope: "bundles" for per-app health, scope: "skills" for loaded skills
nb__delegateSpawn a child agent for a sub-task

The agent also has identity-level tools for managing your apps, connectors, conversations, files, and automations. It uses these when you ask it to install a capability or set up a scheduled run.

You can give the agent additional context by attaching files to a message. In the web UI:

  • Drag and drop files onto the chat input
  • Paste an image directly from your clipboard (Cmd+V / Ctrl+V)
  • Click the attachment icon to browse

Attached files appear as chips below the input. Remove one by clicking the X on its chip before sending. See File Context for supported formats and how extraction works.

When extended thinking is enabled, the agent’s reasoning shows up in the chat timeline as a collapsible Thought chip (it reads “Thinking…” while the reasoning is still streaming). Expand it to read the model’s reasoning before the answer; collapse it to keep the transcript clean.

Extended thinking is controlled by the Extended Thinking setting on the organization Model tab — choose Off, Adaptive (the model decides per call), or Enabled (always reason). Reasoning is billed as output tokens. See Settings for where to set it.

When a tool or app returns a document via an artifact:// resource, the chat renders an artifact chip. Click it to open the Artifacts panel — a slide-out drawer alongside the conversation that shows the full document with a title header and sticky Copy and Download actions. Markdown is rendered; plain text and other formats fall back to a readable view. Press Esc to close the panel.

This keeps long deliverables (reports, generated files, structured output) out of the message stream while leaving them one click away.

When you open an app in the web UI and chat from within that app’s view, the chat is scoped to that app. The agent receives an appContext that tells it which app you’re focused on, so it can prioritize that app’s tools and give more relevant responses.

For example, with a calendar app open, asking “What’s on my schedule?” leads the agent to the calendar tools rather than searching across everything installed.

  • Be specific about what you want. “Search for MCP servers related to Slack” works better than “find me something.”
  • Name the app when relevant. If you have multiple apps installed, say “Use Granola to list my meetings” rather than just “list my meetings.”
  • Ask the agent to install what it needs. The agent can search mpak and install bundles on its own.
  • Use delegation for parallel work. For tasks that split naturally, ask the agent to delegate sub-tasks. See Multi-Agent Delegation.

Each assistant response shows a token-count breakdown — input and output tokens used. This helps you understand usage if your team tracks costs.

Open a past conversation from the Conversations sidebar in the web UI. See Conversations for details on history and storage.

  • Installing Apps — add new capabilities to your agent
  • Skills — customize how the agent responds with prompt composition
  • Conversations — history, resume, and storage