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:
- Install the skill and use
/crmwith a coding agent. - Browse the how-to guides for task recipes.
- Hit a snag? See Troubleshooting.