# Desktop app

The Desktop chat app (`Speedwave.app`) is the chat window where you talk to Claude Code about the project you have open. It suits everyone on the team, including people who don't code. If you haven't sent a message yet, [your first session](/docs/get-started/first-session/) walks through it.

<DesktopFrame screen="chat" />

## What a chat session is

A chat session is one long-running Claude Code process inside the container, streaming output as it arrives. Type a message and send it; the response streams in as it's produced, and your next message queues until the current turn finishes. To interrupt a turn, press `Esc` or click **stop**; the partial response stays and any running tools stop. Speedwave can also pause mid-task with a question; `Esc` is ignored while it's showing, though stop still works.

The composer adds a **Plan/Act** toggle for plan-only replies you confirm first, and a `/` popover for built-in commands, skills, plugin commands, and agents. Tool calls render inline with a diff view for edits and writes, plus an authorization prompt (**allow once**, **allow always**, **deny**) when one needs approval. Hover a message for **copy**, or **retry** on the most recent one.

## Attachments

Attach images by pasting (`Cmd+V` / `Ctrl+V`) or dragging files onto the composer, in JPEG, PNG, GIF, or WebP (SVG is rejected). Speedwave resizes large images to the model's native resolution and writes each one to disk right away, under `<project>/.speedwave/pastes/`, mounted into the container so Claude reads it by file path. This is one of the differences from running Claude Code directly in a terminal; see [Chat UI vs CLI](/docs/features/cli/) for the rest.

## History, projects, and memory

The conversations panel (`Cmd+B` / `Ctrl+B`) lists past sessions; click a row to resume it, or delete a transcript (this cannot be undone). The project switcher, a pill in the top-right corner, is where you select, add, and remove projects; each gets its own container network and Claude home directory, as described in [projects and sessions](/docs/understand/projects-and-sessions/). A slide-out panel shows the project's `CLAUDE.md`, split into user, project, feedback, and reference sections.

## Navigation and shortcuts

| Shortcut | Action |
| --- | --- |
| `Cmd+1` … `Cmd+5` | Chat, Integrations, Plugins, Meeting transcription (beta), LLM usage |
| `Cmd+,` / `Cmd+L` | Settings / Logs & Health |
| `Cmd+K` | Command palette: jump to any destination, run an action, or switch project |
| `Cmd+B` | Conversations panel |
| `Esc` | Close the palette, project switcher, or a question |

The bar below the composer tracks tokens, context usage, and running cost. Closing the main window hides it to the tray instead of quitting.