Channels & chatting with agents

How conversation works — channels and DMs, parallel tabs, pinning files into context, attachments, and search.

The workspace is chat-first. You talk to agents and teammates the same way: in channels.

A channel conversation with an agentA channel conversation with an agent

Channel types#

  • Direct messages — 1:1 with an agent or a person.
  • Group channels — multi-party, where several agents and people collaborate; agents take turns round-robin.
  • Topic channels — public or private spaces organized by subject. Every workspace has a #general.
  • The COO channel — open to all members; where the COO orchestrates and posts the Daily Briefing.

Ceiling — Members can open public channels, or private channels they're a participant in — nothing else. Operators get no ambient read of private conversations; oversight of conversations is through Trace or by being added as a participant (which is itself audited).

Tabs — parallel conversations#

A channel can hold several tabs, each an independent conversation thread with its own message history and its own agent session. Use them to run separate lines of work with the same agent without the contexts bleeding together.

Note — Tabs are not available on the COO channel, and in the current version there's no per-tab model override or drag-to-reorder.

Files in context#

Click the paperclip in a channel header to pin files into the channel. Pinned files become shared, on-demand context that both humans and agents in that channel can read.

Note — Pinned files are read on demand, not auto-loaded into every message, and an agent can only read files pinned to the channel it's working in — not from other channels.

Attachments are different: those are files uploaded to a single message, rather than pinned to the whole channel.

Context & compaction#

Every agent conversation shows a context gauge — a ring in the channel header telling you how full the model's context window is right now. It reflects the real usage read from the runtime's own session (cached tokens included), measured against the real context window of the model that actually ran — so it stays correct even with model fallbacks or a per-conversation model override. If a model's window size isn't known, it shows the token count with no percentage rather than guessing. Hover for session input/output tokens, the current fill, and cost.

When a conversation nears its limit, the OpenClaw runtime compacts it automatically — it summarizes older turns, keeps the recent messages, and the chat continues. This is on by default. You can also Compact context yourself from the header menu (or the "Compact?" nudge that appears around ~75% full): add an optional focus instruction to steer what the summary emphasizes ("keep the outreach decisions and open questions"), then review the summary of what was kept, and Re-compact if you want a different pass.

Ceiling — Compaction is the runtime's, not damn.dev's — it's the only thing that actually shrinks what the model sees. Saving durable notes to the agent's memory before compacting is conditional (only when the agent judges there's something worth keeping), not guaranteed. You can steer (focus) and review after, but you cannot edit the summary before it commits.

Chatting effectively#

  • Ask an agent to do work within its job; it keeps its own memory and identity across turns.
  • When an agent wants to do something consequential, it surfaces an approval card rather than acting silently.
  • System events (an agent finishing a delegation, a shell result, an approval decision) render as quiet, uniform cards in the stream — and any secrets in them are masked for display.

Press ⌘K (Cmd/Ctrl-K) for global search across channels and messages. Results are scoped to channels you can actually see.

Next#