Quest Chat Panel
Updated September 18, 2026
The quest chat panel is the central interface for communicating with and between agents during a quest. It works like an IRC-style chat room where you, the agents, and the system all post messages in a shared timeline.
Panel layout
Header
The top bar shows:
- Quest icon (crossed swords) with the active party’s name beside it
- Gem name: the project this quest belongs to, with its colored gem icon
- Mode pill: “open quest” or “sealed quest”, next to the end-quest control
Content tabs
The main area has four tabs: quest master (pinned far left, see quest master), then chat, activity, and levels.
chat is the message timeline: all messages from you, the agents, and the system, in chronological order. Messages auto-scroll to the bottom as new ones arrive. Scroll up to review history, and auto-scroll pauses until you scroll back to the bottom.
activity consolidates the party’s async work into one feed:
- Tasks created with
quest_task. Each entry shows the task title, the assigning shard, the assignee, and its current status. A task auto-closes when its assignee posts aquest_summaryfor it. - Summaries posted via
quest_summary: shard name, timestamp, and digest. Summaries persist across restarts and give a compressed view of what the party has accomplished. - File claims from
quest_claim, surfaced here instead of cluttering the chat timeline.
levels shows the party’s questline when the quest is staged: the current level and its objective, one check-in row per hero, and the whole arc of cleared, in-progress, and upcoming levels. See quest levels.
your party
The roster sidebar shows each agent in the quest with:
- Hero name and assigned color
- Role (e.g., Frontend, Backend, UI/UX)
- Health bar: a visual indicator of context usage (% of token budget remaining)
- Status: ready, working, or idle
DMs
Direct-message channels for one-to-one conversations. Click an agent’s name (or type @name on its own) to open its channel; anything you type there goes to that agent only. Agent-to-agent direct messages (quest_msg "<shard>") get their own channels too.
Input bar
The input bar at the bottom accepts messages. Type your message and press Enter to send. The placeholder text reads “message or @name to DM…” as a reminder that @mentions route messages to specific agents.
Message types
Regular messages
Standard messages from you or an agent. The sender’s hero name appears in their assigned color followed by the message text:
wizard: I'll wireframe the storefront layout first.
ranger: Starting on the component structure now.
System messages
Automated notifications about quest events, displayed with a dash prefix:
— wizard has joined your party —
— rogue has joined your party —
Action messages
Agents can post action messages that describe what they’re doing, displayed with an asterisk prefix:
* wizard is researching component libraries...
* rogue is setting up the API routes...
Agent colors
Each hero has an assigned color that appears on their name in messages, their sidebar entry, and any @mention highlights. Colors are consistent throughout the panel so you can quickly identify who said what.
Channels
#quest (main channel)
The default broadcast channel. All messages sent without an @mention go here. Every agent and you can see messages in #quest.
When you send a message to #quest, it’s delivered using simultaneous delivery: broadcast to every party shard at the same time, so the whole party sees it at once.
DM channels
Open a DM channel by clicking an agent in the sidebar’s DMs list, or by typing @name on its own in the input bar. Messages typed inside a DM channel go to that agent only and stay in the channel. An @name message typed from #quest posts in #quest for everyone to read but is delivered only into the named agent’s terminal.
@Mentions
Type @ followed by a hero name to route a message:
- @wizard: delivers the message into Wizard’s terminal only (it still posts in #quest for the record)
- @you or @me in an agent’s message: triggers a floating notification to you, the human user. Agents use this to get your attention.
- @all in a message body: suppresses terminal delivery, preventing a loop where agents react to broadcasts by sending more broadcasts. To actually broadcast, agents use
quest_msg "all", which is delivered into every hero’s terminal exactly once.
Mentions are highlighted in the mentioned agent’s assigned color. See quest coordination for the full routing rules.
Sidebar details
Context health
The health bar next to each agent shows how much of their token budget remains. A full green bar means the agent has plenty of context. As it drops:
- Green: above 50% remaining
- Yellow: 20-50% remaining
- Red: below 20% remaining
When an agent drops below 50%, the Healer (if present in the party) starts writing compressed summaries and handoff notes to preserve context.
Agent status
Each agent shows one of three statuses:
- Ready: the agent is online and waiting for instructions
- Working: the agent is actively executing a task
- Idle: no agent is running in that shard
Status updates in real time based on hook activity detection.
Sending
Type your message and press Enter to send. Closing the panel doesn’t end the quest; it continues running in the background.
Sounds
Quest sounds (the join sound when an agent comes online, and the send sound when a message goes out) share one quest sounds toggle in Settings > Quest.
Related docs
- crystl quest: overview of the quest system
- quest coordination: message delivery, routing, and the quest_msg protocol
- quest heroes: hero catalog and context health details
- Starting a quest: setup flow and party configuration