Skip to content

Quickstart

From nothing to a working query in about five minutes.

1. Install

Install uv:

winget install --id=astral-sh.uv -e

Open a new shell and confirm uv is on your PATH:

uv --version

Install crm with a pinned interpreter:

uv tool install --python 3.14 git+https://github.com/Gharib89/crm

The --python 3.14 pin matters: uv may otherwise pick Python 3.15, where PyYAML has no prebuilt Windows wheel and building one needs the MSVC Build Tools. Run uv tool update-shell once if crm isn't found in a new shell. The install script is an alternative that needs no Python at all.

curl -fsSL https://pub-bbeb86c46454443ca76521dd4d29818e.r2.dev/install.sh | sh

The Linux install script's prebuilt binary bundles Python — nothing else to install. See Install for every option, and for managed machines where the binary is blocked.

2. Open a new shell

So your PATH picks up crm, then confirm:

crm --version

3. Create a profile

crm profile add

On a terminal this runs a wizard: enter your server URL, and the CLI infers the auth scheme (any host containing .dynamics. → OAuth, anything else → NTLM), prompts for what that scheme needs, runs a WhoAmI to verify before saving anything, then stores the secret and activates the profile. See Add a profile for the non-interactive form and what happens if the live test fails.

4. Confirm it works

crm connection whoami
crm query odata accounts --top 5

If whoami prints your user and organization, you're connected.


Next: