dobrovolskiy.com
RU
← Notes2026-09-04 · by Dmitriy Dobrovolskiy

Does Claude work with FreeCAD? What an AI agent can and cannot do inside FreeCAD 1.0/1.1

A straight answer from the author of the plugin: Claude cannot open an .FCStd file in the chat window, but an agent docked inside FreeCAD 1.0/1.1 can read the live document, look at the 3D view, measure, and edit the model — with a confirmation dialog on every change.

Claude on its own cannot open a FreeCAD file: .FCStd is a zip of XML and BREP data, and the chat window has no FreeCAD in it. What works is the reverse — put the model inside FreeCAD. FreeGAD is an AGPL workbench for FreeCAD 1.0 and 1.1 on Windows that gives Claude, or any OpenAI-compatible model, a snapshot of the open document, a screenshot of the viewport, and tools to measure and edit after you confirm each change. This note lists exactly what that can and cannot do.

The short answer

If you upload an .FCStd to a chat window, the model gets a zip archive full of XML and BREP geometry it cannot reason about as a model. You can paste a Python snippet, a screenshot or a property dump and Claude will answer sensibly — but it is answering about a copy, and every change still has to be typed back into FreeCAD by hand.

The useful configuration is the reverse: the model lives inside FreeCAD as a workbench and reads the live document through the FreeCAD Python API. I built that plugin — FreeGAD — because I kept copy-pasting Python between a browser tab and the FreeCAD console and wanted the assistant next to the model instead. This note is what it actually does, so you can decide whether the same pattern fits your work.

What the model sees

Every conversation starts with a compact snapshot of the active document: objects, their types and dependencies, bounding boxes, volumes, placements and the current selection. It is kept small and stable on purpose, so prompt caching works and repeated questions stay cheap.

When it needs more, the model calls read tools over the live document: every property, expressions, sketch geometry and constraints, spreadsheet cells, face and edge data. And there is one tool AutoCAD does not get: take_screenshot renders the 3D view and sends the image to the model, so it can check shape, orientation and its own edits visually.

It can also measure — distances between objects or sub-elements, face areas, edge lengths, radii — instead of estimating from a picture.

What the model can change

Write tools: run_python (the full FreeCAD API, one undo step, recompute afterwards), set_property, set_expression, delete_object, set_visibility, select and recompute.

Every write opens a confirmation dialog with the exact code or change before anything happens. There is an Auto-approve edits tick box in the panel for when you trust the session — off by default. Each tool call is one transaction, so anything the model did can be undone with normal Undo.

What it does not do

Memory across sessions

remember stores per-user notes (conventions, printer, materials, how you like answers) and per-document notes (design intent, which sketch drives what). They are injected into later sessions, so the assistant stops asking the same questions. FreeGAD → Memory… lists and deletes what it remembers; you can also just say "remember that …" or "forget that …".

Models and cost

The default model is claude-opus-5 through the Anthropic API with your own key; any OpenAI-compatible endpoint works too — OpenAI, OpenRouter or a local server, which also answers the "can this stay offline?" question. You pay your provider per token; the plugin itself is free under AGPL. The client is raw HTTP on the standard library, no SDK, because FreeCAD ships its own embedded Python and pip-installing into it is fragile across versions. The key is stored DPAPI-encrypted for the current Windows user, never in plain text.

Guard rails for scripts

A runaway boolean or tessellation loop can push Windows into swapping so hard that only a reboot helps. run_python therefore has a script time limit (120 s by default, 0 to disable) and a memory guard that aborts a script once it grows FreeCAD's memory past half the machine's RAM or leaves less than about 8 % free. Both are on by default and can be switched off in Settings.

Telemetry, honestly

Usage statistics are on by default and can be turned off in Settings… → Collect anonymous usage data. What is sent per turn: model and effort, token counts, API and tool latencies, how long the GUI thread was blocked, memory growth per script, error class, plugin, FreeCAD and OS versions, object count, keyed by a random install id. Never sent: prompts, answers, code, file names, document contents, the API key.

Installing it

Download the installer: it installs per-user into %APPDATA%\FreeCAD\Mod\FreeGAD without admin rights and asks for the provider and API key. Start FreeCAD — a FreeGAD menu and toolbar button appear in every workbench, plus a FreeGAD workbench of its own. Developers can install from the repo with install.ps1. The project page has the summary; the design notes for FreeGAD and its AutoCAD sibling explain the architecture.

What I'd do differently, and what's next

I would have shipped the screenshot tool first: it is the feature people react to, and it caught more of the model's own mistakes than any text check. Next are Linux support if people ask for it, and a short video of a sketch → constraint → measure → edit loop.

FAQ

Can Claude open an .FCStd file directly?

No. An .FCStd file is a zip archive of XML and BREP data; the chat interface cannot turn that into a model it can reason about. To work with a FreeCAD document the model needs a plugin inside FreeCAD that reads the live document and exposes it as tools — that is what FreeGAD does.

Which FreeCAD versions and operating systems are supported?

FreeCAD 1.0 and 1.1 on Windows. Linux and macOS are not supported yet; the installer and the DPAPI key storage are Windows-specific.

Can it work without sending my model to Anthropic?

Yes. FreeGAD talks to any OpenAI-compatible endpoint, including a local server, so the document snapshot and screenshots can stay on your machine. With the Anthropic API only the compact snapshot, tool results and screenshots you allow are sent; the file itself never leaves FreeCAD.

Can you build a similar assistant for my CAD or my company's workflow?

Yes. The pattern — snapshot, read tools, confirmed writes, memory — transfers to any host with a scripting API; the same agent already runs inside AutoCAD as AutoGAD. I do this live on a shared screen, billed by the hour.

Want something like this?

I build it live on a Zoom call, you watch the screen, the timer stops when you say stop. First 15 minutes are free.

$50 / hourBook an hour

More projects

FreeGAD: Claude inside FreeCADA Claude-powered engineering copilot living inside FreeCAD.