Skip to content

Chat

The chat panel is the primary interface for interacting with the AI agent in each session. It provides a rich input bar, a structured message list, and several productivity features for working with large or complex conversations.

The input bar sits at the bottom of the chat panel. It accepts multiline text and supports several input modes:

  • Plain text — type and press Enter to send (or Shift+Enter for a newline).
  • Slash commands — type / to open the command menu (see below).
  • File references — type @ or use the file reference button to attach file paths as context chips.
  • Image upload — paste an image from the clipboard or use the attachment button to pick a file. Uploaded images appear as thumbnails in the input area before sending.
  • Voice input — see the Voice Input page for details.

Typing / in the input bar opens a categorized command menu. Commands are divided into two groups:

System commands (built-in):

CommandDescription
/helpShow available commands
/clearClear conversation history
/compactCompact conversation to save context
/modelSwitch AI model
/costShow session cost breakdown
/doctorRun diagnostic checks
/reviewReview code changes
/diffShow uncommitted changes
/forkFork the current conversation
/memoryEdit CLAUDE.md files
/permissionsView and update tool permissions
/planEnter plan mode
/renameRename the current session
/resumeResume a previous session
/rewindRewind to a previous point in the conversation
/tasksList background tasks
/contextVisualize context window usage
/exportExport the conversation
/copyCopy the last response to the clipboard
/fastToggle fast mode
/vimToggle vim editing mode in the input bar
/add-dirAdd a working directory to this session
/configShow configuration
/initInitialize project settings
/btwAsk a side question without consuming session context
/bugReport a bug
/skillsList available skills

Skill commands (dynamic): any skill marked userInvocable: true in its manifest is automatically listed in the SKILLS section of the menu.

Navigate the menu with arrow keys and confirm with Enter, or click a command directly.

Type @ in the input bar or press the file attachment button to add a file path as a reference chip. Referenced files are included as context when the message is sent. Chips can be removed individually before sending.

A directory can also be added as a reference, appearing as a directory chip rather than a file chip.

Uploaded images are shown as thumbnails in the input bar. Click a thumbnail to open the full-size image in a dialog. Multiple images can be attached to a single message. Images are encoded and sent as part of the message content.

A circular progress indicator in the toolbar shows how much of the model’s context window is currently used:

  • Green — below 50% used
  • Amber — 50–80% used
  • Red — above 80% used

When usage exceeds 70% and there is enough message history, the meter also displays a prediction of how many interactions remain before the context is full. Hovering the meter shows a tooltip with the exact percentage.

Use /compact to summarize the conversation and free context space when you are running low.

Alongside the context meter, the token bar tracks cumulative token usage for the session including input tokens, output tokens, and cache hits.

Agent responses are rendered as formatted Markdown. Supported elements include:

  • Headings, paragraphs, and horizontal rules
  • Bold, italic, and inline code
  • Fenced code blocks with syntax highlighting (same highlighter as the editor)
  • Tables (GitHub Flavored Markdown)
  • Ordered and unordered lists, including task lists
  • Blockquotes
  • Links (open in the system browser)
  • Images

When the agent uses extended thinking, the intermediate reasoning is shown as a collapsible Thinking block in the message list. Click the block to expand and read the agent’s internal reasoning. The block header shows the timestamp of when thinking occurred.

Agent tool use is displayed as structured cards inline in the message list rather than raw text:

  • Bash — shows the command and its output, with a risk classification indicator
  • Edit / Write / Read — shows the file path and a diff or content preview
  • Web fetch / Web search — shows the URL and a summary of results
  • MCP tools — shown as generic tool cards with input and output
  • Subagent — shows a nested agent invocation with its own message thread
  • Task list — shows a checklist of agent-defined tasks and their statuses

The message list supports branching: if a message was sent at a point in the conversation that has since been rewound or forked, the list shows a branch indicator. You can navigate between branches to compare different continuations of the same conversation.

While the agent is active, a pill-shaped status indicator appears below the message list showing the current state — Thinking…, Generating…, or the name of the tool being executed, along with elapsed time. When the agent finishes, the indicator briefly shows Completed in Xs before disappearing.

Press Ctrl+R inside the input bar to activate reverse history search. An overlay bar appears above the input showing the current query and the match position (e.g., 2/7). Type to filter through previous messages you have sent in this session. Press Ctrl+R again to cycle to the next match, Ctrl+C or Escape to exit search and restore the original input.

Use /btw to ask a question without consuming the main session context. The question is answered using a separate lightweight call and the answer is shown as a side-question card in the message list. This is useful for quick lookups that do not need to be part of the agent’s working memory.