bim · windows · per-user · offline

Revit automation for Claude Code, Cursor, and Codex.

bim lives on your Windows PC. Your AI assistant uses it to work with your files — Revit models, PDFs, spreadsheets, site data — instead of you doing it by hand.

Works with Claude Code, Cursor, Codex, and any tool with a terminal — no MCP server needed. Supports Revit 2024, 2025, and 2026.

for people

Describe the work to your AI assistant. It installs bim, runs the commands, and reports back. You never open a terminal.

How it works →
for Claude Code, Cursor & Codex
paste into your AI coding tool
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.

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, 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.

How it works

1
Tell your AI assistant to install bim.

Paste the prompt from the panel above into any AI coding tool that can run shell commands. It handles the download, verification, and PATH setup — no decisions required from you.

2
Describe the work.

"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.

3
Your assistant runs bim and reports back.

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.

Drivers

bim describe --json is the authoritative source for every verb, arg, and schema. The pages below are human-readable summaries.

bim-pdf →

Work with PDFs — extract element data, split and merge sheet sets, reduce file size, embed structured data for archiving. Handles the font encoding and element tagging that Revit's PDF export produces.

bim-revit →

Drive Revit while it's open: export sheets to PDF with BIM data, read schedules, write parameters across hundreds of elements, list warnings, and run arbitrary Revit API logic. The kind of work that takes a half-hour for someone fluent in visual scripting, and a full afternoon by hand.

bim-image →

Convert, annotate, compare, and inspect images. Handles site photos from phones (HEIC), renderings, and drawing scans. Useful anywhere a pipeline produces or consumes image files.

bim-site →

Pull site data for any address — flood zones, school districts, zoning, brownfield status, transit access, satellite imagery, and more. No account, no key. Each query hits a public REST API and returns structured JSON.

bim-excel →

Read and write Excel files. The connective layer between Revit schedules, site data outputs, and any spreadsheet-based workflow. Accepts piped input from other drivers; output can be piped forward.

bim-google →

Read and write Google Sheets and Docs. One-time browser sign-in; every subsequent call is silent. Push Revit schedules or site data directly to a shared sheet without copy-paste.

bim-rhino →

Drive Rhino 6 while it's open. Run scripts, inspect the session, and control the application from a terminal — the same pattern as the Revit driver, against Rhino's RhinoScript and RhinoCommon APIs.

bim-blender →

Convert 3D files headlessly (FBX, glTF/GLB, OBJ, USD, BLEND) or drive a live Blender session over TCP. IFC read/write via Bonsai. One install command downloads and manages Blender 4.5 LTS — no manual Blender setup required.

bim-energy →

Run whole-building energy simulations and PHIUS CORE 2024 compliance checks from the command line. Accepts gbXML and OpenStudio .osm files. One install command downloads NREL OpenStudio CLI — no manual setup.

Workflows

Each page has a copy-pasteable agent prompt, the exact commands with expected output, and a bim scenario run test you can run to verify the installed binary matches the page.

PDF — no dependencies

Extract element data from a Revit PDF
bim pdf info + marked + text — element tags, bounds, and decoded text
active
Archive a Revit PDF with embedded data
bim pdf package — embed BIM JSON as PDF/A-3 associated file
active
Shrink a Revit PDF sheet set
bim pdf info + optimize — inspect then de-duplicate shared resources
active

Revit — requires Revit open with add-in loaded

Export a full drawing set to PDF
bim revit export --all-sheets --bim — headless, one command, no Revit GUI
requires Revit
Let an agent prepare a permit submittal
bim revit export + BIM sidecars — agent reads structured data, no human at Revit
requires Revit
Audit model warnings in a spreadsheet
bim revit warnings list | bim excel write — all warnings with element IDs
requires Revit
Drive Revit from a terminal
bim revit status + exec — no keyboard, no mouse, no Revit window in focus
requires Revit
Export, split, and process Revit PDFs
bim revit → bim pdf — split, collect, extract, and optimize sheet sets
requires Revit
Bulk-edit Revit parameters from a spreadsheet
bim revit exec + param set — read and write parameters across element sets
requires Revit
Claude Code + Revit without MCP
bim vs Revit 2027 MCP vs community revit-mcp — when to use each
active

Cross-driver

Export a Revit schedule to Excel
bim revit schedule export | bim excel write
active
Inject a flood zone into Revit parameters
bim site flood lookup | bim revit param set — no web map required
active

Pipe compositions

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

Coming next

Environment

no cloud · no admin rights · no account · per-user install · read the install script ↗ · uninstall in one line