bim is a command-line tool for Revit 2024, 2025, and 2026. Connect to a running Revit session from any terminal, export sheets, read schedules, and run arbitrary C# against the live API -- all without touching the Revit UI.
Install the add-in once, then restart Revit:
bim revit install
From that point, any terminal can drive the live session:
bim revit sheets list
bim revit export --all-sheets --bim --output output/
bim revit schedule export "Door Schedule"
bim revit exec --code "return doc.Title;"
Every command returns JSON. Commands compose with pipes; output feeds directly into Excel, Google Sheets, or any downstream tool.
Requires: Revit 2024, 2025, or 2026 with the bim-revit add-in loaded. Run bim revit install once, then restart Revit.
iwr -useb https://bimcli.com/install.ps1 | iex
Per-user. No admin rights. No account.
To open a model from a terminal, launch Revit with the path:
bim revit launch --path C:\projects\building.rvt
bim revit launch starts Revit, loads the add-in, opens the specified model, and streams progress until the session is ready. If Revit is already running, open a model into the live session instead:
bim revit open --path C:\projects\building.rvt
bim revit exec auto-launches Revit if no instance is running -- useful in scripts where you want the session to come up automatically.
If you searched "Revit CLI" thinking of pyRevit's pyrevit command, that is a separate tool for a different job. The pyrevit command manages the pyRevit deployment itself -- installing and updating pyRevit across machines, managing clones, running a telemetry server. It is infrastructure tooling for pyRevit administrators.
bim's bim revit ... commands drive a live Revit session at runtime: export sheets, read and write parameters, run C# against the open document, and return structured JSON. It is a runtime interface to an open model, not a deployment manager.
If pyRevit deployment is what you need, head to docs.pyrevitlabs.io.