bim lives on your Windows PC. You describe the work to your AI assistant — export a drawing set, bulk-edit parameters, look up a flood zone, shrink a PDF — and it runs the commands and reports back. You never open a terminal.
Works with Claude Code, Cursor, Codex, and any tool with a terminal — no MCP server needed. Supports Revit 2024, 2025, and 2026.
How it works → · Browse the drivers → · See the workflows →
bim is a program your AI assistant runs on your Windows PC to do real work in your apps and files — Revit, PDFs, Excel, Google Sheets, site data, images, Rhino, SketchUp, Blender, and energy simulation. It installs per-user in one line, no admin rights and no account. After install, nothing leaves your machine unless you ask it to.
Paste the prompt below into any AI coding tool that can run shell commands. It handles the download, verification, and PATH setup — no decisions required from you.
"Pull the flood zone for our project site and write it to a spreadsheet." "Bulk-set the Assembly Code parameter on all structural walls from this Excel file." "Shrink this PDF sheet set before I send it to the client." Plain language is fine.
It calls the right driver, shows you the result as structured data, and asks what's next. If something needs your attention first — Revit not open, file in the wrong place — it tells you exactly what to do.
A flood-zone lookup piped straight into a spreadsheet.
bim is built to be installed and driven by an agent. Paste this into Claude Code, Cursor, or Codex — it self-installs, then orients from bim describe --json.
Install bim-cli on this Windows machine and then use it.
Step 1 — install. Run this exactly:
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "iwr -useb https://bimcli.com/install.ps1 | iex"
The installer is per-user (no admin), idempotent, and prints `BIM_INSTALLED_OK <version> <path>` as its final line on success.
Step 2 — refresh PATH in your current session:
bash: export PATH="$PATH:$LOCALAPPDATA/bim-cli"
pwsh: $env:Path += ";$env:LOCALAPPDATA\bim-cli"
Step 3 — orient:
bim doctor --json # environment readiness; each failed check has a fix field
bim describe --json # full driver/verb/arg schema; each driver has a docs URL
Fetch the docs URL for any driver you plan to use before issuing commands.
Calling convention: `bim <format> <verb> [args]`. stdout is JSON, stderr is human.
Error envelope: `{"ok":false,"error":{"kind":"...","message":"...","hint":"..."}}`.
Exit codes: 0 ok · 1 generic · 2 usage · 3 not-found · 4 permission · 5 conflict.
After describe + doctor, summarize what's installed and wait for my task.
Agents can read the full reference at /llms.txt, and each driver's own /…/llms.txt.
One driver per app or data source, all under bim <format> <verb>. See all drivers →
Task-focused guides with copy-paste prompts and exact commands. See all workflows →
Every command reads stdin and writes stdout as JSON. Drivers compose with standard pipes.
bim revit export --all-sheets --bim --output output/
bim pdf marked drawings.pdf | bim pdf viewer drawings.pdf
bim pdf info drawings.pdf && bim pdf optimize drawings.pdf
bim revit schedule export "Door Schedule" | bim excel write doors.xlsx
bim excel read params.xlsx | bim revit param set --by Mark
bim pdf marked drawings.pdf | bim excel write takeoff.xlsx --pivot category
bim revit warnings list | bim excel write audit.xlsx
bim site flood lookup --address "..." --geocode | bim revit param set --by Mark
bim revit schedule export Sheets | bim google sheets append --spreadsheet <id> --with-header
bim revit warnings list | bim google sheets append --spreadsheet <id> --with-header
bim google docs read --doc <id> | bim revit param set --by Mark
%LOCALAPPDATA%\bim-cli\