Chat
The Cordy side-panel chat — parallel conversation tabs, streaming, message branching, attachments, inline tool calls, and a live context/token meter.
The side-panel chat is the heart of Cordy. It's a full conversation interface docked next to your pages, with parallel conversation tabs, streaming replies, editable message branches, file attachments, and a live view of how much of the model's context window you're using.
Overview
Open the chat with the toolbar icon or Ctrl/Cmd + Shift + Y. Type in the composer at the bottom and send. Replies stream in as Markdown, with code blocks, math, tables, and diagrams rendered inline. Everything you see is stored locally on your device — nothing is uploaded except the message you send to the provider you configured.
If you'd rather work in a bigger window, use the header action to open the panel as a full browser tab.
Conversation tabs
Cordy runs multiple conversations in parallel, shown as tabs across the top of the chat — much like browser tabs, but for chats. Each tab is an independent conversation with its own history, and a reply can keep streaming in one tab while you work in another.
Tab titles start as Tab 1, Tab 2, … and then auto-rename to reflect the conversation's content, so your archived history stays recognizable.
Working with tabs
| Action | How |
|---|---|
| New tab | Click +, press Alt + T, or run /new |
| Close tab | Alt + W, middle-click the tab, or use its × |
| Reopen last closed | Alt + Shift + T (remembers the 10 most recent) |
| Jump to tab 1–9 | Alt + 1 … Alt + 9 |
| Next / previous tab | Ctrl/Cmd + Tab / Ctrl/Cmd + Shift + Tab (also Ctrl + PageDown / PageUp) |
| Pin / unpin | Right-click the tab → Pin |
| Rename | Right-click the tab → Rename |
| Reorder | Drag the tab |
| Close others / to the right | Right-click the tab → Close other tabs / Close all to the right |
| Find a tab | Open the overflow menu (») and search |
A tab shows a small activity indicator while its reply is generating, and a ⚠ prefix if a turn failed.
Why
Alt, notCtrl? Chrome reservesCtrl+T/Ctrl+Wfor its own tabs and handles them before any extension can — so Cordy usesAlt-based shortcuts, which don't collide. TheCtrl/Cmd+Tabcycle keys are best-effort; if your platform consumes them, useAlt+1…9instead.
The composer
The composer is where you type. A few things to know:
- Send key. By default,
Ctrl + Entersends andEnterinserts a newline. You can switch toEnterto send (Shift + Enterfor newline) in Settings → Shortcuts → Send message. - Input history. Press
↑/↓in an empty composer to cycle through your previous inputs. - Model selector. The current model is shown in the composer; click it to switch models for this conversation without leaving the chat.
- Context meter. A small ring next to the command button shows how full the context window is. Click it for a breakdown (see Context window & tokens).
- Slash commands and
@-mentions. Type/for the command menu or@to attach browser context — both covered below.
Attachments
Click the paperclip (Add photos or files) or drag files onto the composer. Cordy accepts:
- Images (
image/*) — for vision-capable models - PDF (
application/pdf) - Text files (
text/*) - Audio and video (
audio/*,video/*) — for models that accept them
Limits: up to 5 files per message, 10 MB each. You can send a message that is only attachments (no text) to a model that supports it.
Attachments need a capable cloud model. Images, PDFs, and audio/video require a multimodal model from your provider. Local models don't support attachments yet — if you attach a file while a local model is selected, Cordy asks you to switch to a cloud model or remove the files.
Streaming and stopping
Replies stream token-by-token, smoothed for steady reading rather than arriving in uneven bursts. While a reply is generating you can:
- Stop it with the stop button. The partial reply is kept and clearly marked as stopped — you don't lose what was already written.
- Keep using other tabs, which continue independently.
Message actions
Hover a message to reveal its actions:
- Copy — copy the message as Markdown.
- Edit — change a message you sent (see branching below).
- Regenerate — re-run your last message for a new answer.
- Delete — remove the message.
Editing & branching
Cordy keeps your conversation as a tree, so revisiting a question never destroys the original.
- Edit a message you sent (pencil icon → inline editor,
Ctrl/Cmd + Enterto save) — Cordy creates a new branch from that point and generates a fresh reply on it, keeping the earlier version intact. Your prior context is carried onto the new branch, so edits don't lose the conversation's memory. A< x / N >selector appears under the message so you can move between the versions. - Regenerate an assistant reply re-runs your last message and produces a new answer. In this version, regenerate replaces the answer rather than stacking navigable sibling versions — use edit when you want branches you can switch between.
If a background write created a branch (for example, editing the same turn from two windows), Cordy shows a "This turn was saved as a branch" notice with a one-click Switch to view.
Reasoning, citations & tool calls
Assistant messages can include more than prose:
- Reasoning. For models that expose their thinking, Cordy shows a collapsible "Thinking…" section that resolves to "Thought for N seconds." Expand it to read the model's reasoning; collapse it to keep the transcript clean.
- Citations / sources. When a reply draws on context you attached, Cordy notes how many context sources were used.
- Inline tool-call rows. When the assistant uses a browser tool — reading the page, searching your tabs, opening a URL — a compact row appears in the transcript ("Read page content", "Searched tabs for …", "Opened …"). Actions that write or delete first appear as a request and pause for your approval; approve or deny inline. Denied actions are marked as such rather than pretending to succeed.
Context window & tokens
Long conversations eventually fill the model's context window. Cordy manages this for you and keeps it visible.
- Live meter. The ring in the composer shows context usage as a percentage. Its breakdown covers conversation history, current input, and reserved space (for the model's output and a safety margin).
- Context limit. In Settings, choose Standard (200K) — a conservative cap that is the smaller of the model's window and 200K — or Auto max, which uses the model's full advertised window.
- Automatic compaction. As the window fills, Cordy can summarize the oldest turns into a compact recap and keep recent messages intact, so the conversation continues instead of erroring. A notice appears with an Undo. You can also trigger it manually with
/compact. - Stale-conversation recap. Return to a conversation after a few days and Cordy can summarize the earlier history into a short "where you left off" recap. Configure both behaviors in Settings → Conversation compaction.
- Omission notice. If context is truly full, Cordy tells you how many of the oldest messages weren't sent to the model — nothing is silently dropped.
- Per-session token usage. Track tokens over time in the dashboard's AI Management → Model Usage view.
Slash commands & mentions
- Type
/in the composer to open the command menu — clear the chat, compact, translate, summarize, export, and more. The full list is in Command palette. - Type
@to ground the reply in real browser context — the current page, another tab, history, or a bookmark. See Mentions.
Managing conversations
From the chat header and history you can:
- Archive the current conversation, clearing the view while keeping it in history.
/clear— archives the current conversation to history and starts a fresh one.- Open in a new tab or open the dashboard for a larger workspace.
- Open the translation workbench for side-by-side translation.
- Browse and search past conversations under History; reopen any as a tab.
Exporting and copying
/exportor the Download action saves the current conversation as a Markdown file.- Copy on any message copies just that message as Markdown.
Your data can also be backed up or wiped wholesale from Settings → Data Management — see Privacy & permissions.
Chat keyboard shortcuts
| Shortcut | Action |
|---|---|
Ctrl + Enter (default) | Send message (Enter = newline) |
Enter (optional mode) | Send message (Shift + Enter = newline) |
↑ / ↓ (empty composer) | Browse input history |
Alt + T | New conversation tab |
Alt + W | Close current tab |
Alt + Shift + T | Reopen last closed tab |
Alt + 1 … Alt + 9 | Jump to tab 1–9 |
Ctrl/Cmd + Tab / + Shift + Tab | Next / previous tab |
/ | Open command menu |
@ | Insert a browser-context mention |
Troubleshooting
- "AI feature not configured." No model is set. Add a key and pick a Chat Model — see Providers & models.
- First send shows a consent dialog. Expected — it's the one-time cloud privacy consent. Accept once to continue.
- Attachments rejected. You're on a local model, or the file exceeds 5 files / 10 MB. Switch to a multimodal cloud model or trim the files.
- Reply timed out. The connection to the background worker was interrupted; send again. If it persists, reload the extension from the panel's error screen.
- A tool row is stuck on "Requesting…". It's waiting for your approval — approve or deny it inline to continue.