The Desktop Agent
CoPilot lives beside your CAD system rather than inside it. A small floating balloon sits on top of whatever you are working in, one keystroke brings up a place to type, and the same conversation reaches every CAD system you have running — including two at once.
Starting it
The agent runs in the Windows system tray. It starts:
- When you click Open Desktop Agent on your CAD system's CoPilot ribbon. (In AutoCAD the button is Desktop Agent, and the commands
COPILOTAGENTandCOPILOTboth do the same thing.) If the agent is not running yet, the ribbon starts it. - When you launch it yourself, or with Windows if you tick Start with Windows in Settings → Agent. That is off by default, as is Start hidden (tray only).
Once it is running, closing any of its windows only hides them. Exit on the tray menu is the only thing that stops the agent.
The balloon
A small round disc that floats above every window. It is blue when you are signed in and grey when you are not, and the glyph on it is a chat bubble — or a microphone when voice is switched on, or a padlock when you are signed out.
- Click it to open a place to type.
- Drag it anywhere. On release it snaps to the nearest screen edge, and remembers where you put it — per monitor arrangement, so docking and undocking a laptop does not lose it.
- Right-click it for the menu: Open chat (Sign in… when you are signed out), Macros…, Markup board…, Settings…, Channels and services…, Hide balloon (tray keeps running), Sign out and Exit.
Three things are shown on the disc itself, so you can read the state without opening anything:
- A red unread badge when messages have arrived from one of your channels.
- A health dot at the bottom-left — hover it for CAD sessions healthy, No CAD session connected, or A CAD session crashed.
- A macro glyph at the bottom-right that opens the macro library, and turns red while a recording is running. See Macros.
Hidden the balloon by mistake? The show/hide hotkey brings it back, and Settings → Agent has Reset balloon position for when it ends up on a monitor you no longer have.
The quick ask bar
One line, floating near the top of the screen, for the question you want to ask without leaving what you are doing. It is what a balloon click opens by default.
- Ctrl+Alt+Space opens and closes it from anywhere. You can change that in Settings → Agent (Show / hide hotkey), or clear it if it clashes with something.
- Enter sends, Shift+Enter is a newline, Esc closes it, and Ctrl+Enter opens the full chat window instead.
- The answer appears inline underneath, with a button to carry on in the full window.
- It has buttons for the markup board and, when voice is enabled, for talking — the talk hotkey is Ctrl+Alt+V by default.
The chat card
The full window: the conversation, the input box, and the controls. It is what the CAD ribbon button opens, and what Ctrl+Enter from the quick ask bar opens. Drag its edge to resize it, or use the card menu's Dock submenu to pin it to the left, right, top or bottom edge of the screen instead of leaving it floating.
Typing
- Enter sends; Shift+Enter starts a new line.
- Type
/to open the command palette —/help,/clear,/compact,/stop,/usage,/verbose,/context,/think, and in the card also/restart,/settings,/sessionsand/model. - The paperclip attaches a file to the message.
- Replies are rendered as formatted text — headings, lists, tables, and code blocks with a Copy button. Screenshots CoPilot takes appear inline.
Choosing which AI answers
Just above the input box there is a small AI drop-down — which AI answers in this chat: your own API key, or a coding agent — with a gear beside it that sets the chosen one up. The quick ask bar has the same choice on its menu.
Each option tells you whether it is ready to answer, and that verdict is the backend's own pre-flight check — the same check it makes when you press Send — rather than the picker's separate opinion of what “configured” means.
Choosing which model it uses
Beside the AI drop-down is a Model drop-down. It lists what the AI you picked actually offers — a coding agent's list comes from the agent itself, and your own API provider's comes from the list its /models endpoint returned when you pressed Fetch models in Settings. Nothing in that list is a name we keep here, so it cannot go stale.
Leave it on (the agent's own default) to let the agent keep whatever model it is configured for. Pick one and it applies to the agent already running: your next message uses it, with no restart and without losing the conversation you are in.
The choice is remembered per agent, so a model you chose for one coding agent is never asked of another, which that other agent would simply refuse. You can also type /model in the chat to see the model in force and what the agent offers, or /model <id> to change it.
The box is editable, so you are not limited to the list. A list can lag — a model released after the adapter was built, an id your account is allow-listed for, a deployment name on your own endpoint. Type it and press Enter, or click away, and it is sent exactly as you typed it. If the agent takes it, it is used from your next message and appears in that agent's list next time marked (added by you), so you can tell your own entries from the ones the agent named. If the agent refuses it, the chat says so in the agent's own words, you stay on the model you were already using, and the refused id is neither kept nor added to the list.
The Model boxes in Settings → Coding agents & MCP work the same way and share the same store, so the chat card, Settings and /model never disagree about which model is in force.
The header
The header shows who you are signed in as, and — when the answer is not coming from the platform's model — what is answering it, so you always know whether you are on your own key or your own coding agent.
The icon buttons open the markup board, the macro and variation library, and a Settings and more menu holding Settings…, Channels and services…, Refresh CAD sessions, the Dock submenu, the coding-agent options and Sign out. The Close button hides the window; it never exits the agent.
There is also a Last turn drawer — every tool the last turn called, what each one answered, and how long it took. It is the fastest way to answer “what did it actually just do?”
The Target box
Under the header is a Target drop-down. It decides which running CAD session this conversation works in.
- (let the model choose) is the default. Each request is routed by what it names — which is fine when only one CAD is running, and fine when you say “in NX”.
- A named session — for example Siemens NX #208696 — pins the conversation to that one running instance. The document is whatever that instance has open.
- Launch … entries appear greyed for CAD systems you have installed but are not running. Choosing one is an action, not a selection: it starts that CAD, and the box goes back to (let the model choose).
The tray menu
Right-click the tray icon for: Open chat, Open the full chat window, Show balloon, Ask my coding agent…, Settings…, Open status…, Start relay / Stop relay, Sign out and Exit. Double-clicking the icon opens the chat.
Hovering the icon tells you the connection state — starting, connecting, connected, stopped, or not signed in.
Permission cards
Before CoPilot does anything destructive to your model — and before it changes its own sensitive settings — a card headed Permission needed appears on whichever surface is open.
- Allow once — this one, now.
- Always allow … this session — that operation, without asking again, until the agent restarts.
- Reject.
Each card belongs to one CAD session and says so, with a count when more than one is waiting (“Siemens NX #208696 · 1 of 2 waiting”). You have two minutes to answer from the moment the card becomes visible, and a tray notification fires so that a card behind another window does not sit unanswered. A request that was withdrawn leaves a one-line note with a Dismiss button rather than a stale card.
Several CAD systems at once
The agent is one process talking to every CAD add-in that is running, so you can have SOLIDWORKS and NX open together and address each in turn. Two things follow:
- Work on one CAD does not interleave with work on another — each CAD has its own queue, and a macro run holds its CAD for the whole run.
- Ambiguity is refused rather than guessed. If it is not obvious which session you mean, you are asked, or you set the Target.
The legacy in-CAD chat panel
The chat panel docked inside the CAD window is still in the product but switched off by default. It can be turned back on in the CoPilot Settings application, on the CoPilot page: Show chat panel inside the CAD (legacy).
- It is one setting for every CAD system, not one per CAD.
- It is read when the add-in loads, so restart the CAD application after changing it.
- Turning it on changes where you can type. It does not change how messages are routed — that still goes through the desktop agent either way.
With it off, a CAD system that has the add-in installed shows a short panel saying that chat has moved and that the session is still connected, plus the ribbon commands.
See also
- Chat Basics — how to phrase requests once you have somewhere to type.
- Markup Board · Macros · Variations
- Getting Started · Sign In & Out · Settings & Languages
- Channels & Messaging — the same agent, reached from your phone.
- Troubleshooting & FAQ