> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.chrt.com/prod/app/install/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.chrt.com/_mcp/server. # Install the Driver App > Step-by-step install for the chrt driver app on iOS and Android — App Store / Play Store install, first sign-in, and the permission prompts on first launch. This page covers installing the chrt driver app on iOS or Android, signing in, and granting the permissions the app prompts for on first launch. ## Before you start * You need to be added as a **Member** of a courier or forwarder org. If you're not, ask your org's admin to invite you — see [Add an org member](/help/getting-started/add-org-member). * Use the email your org used when they invited you. Sign-in won't find your org if the email doesn't match. ## 1. Install the app #### iOS — App Store 1. Open the App Store on your iPhone. 2. Search for **chrt** and install the chrt driver app. 3. Open the app from your home screen after install completes. #### Android — Play Store 1. Open the Play Store on your Android device. 2. Search for **chrt** and install the chrt driver app. 3. Open the app from your home screen after install completes. > **Note** > > Minimum OS: iOS 18.5 or newer, Android 8.0 (API 26) or newer. Older > devices won't see the app in the store. ## 2. Sign in The first screen after launch is **Sign In**. Tap **Sign In** to open the hosted login page in a secure browser tab, enter the email and password your org invited you with, and complete sign-in. If you belong to more than one org, you'll pick which org to sign in under during the hosted sign-in flow. You can switch later from **Settings** > **Organization**. > **Tip** > > If sign-in opens a browser tab and seems to do nothing, check that your > device hasn't blocked third-party browser sign-in for the chrt app. The > flow uses an in-app system browser (not a custom in-app webview) so that > password managers and SSO providers work correctly. ## 3. Grant permissions on first launch The app prompts for the permissions it needs in the order it needs them. Say **Allow** to each — without these, key driver features won't work. ### iOS | Prompt | Why the app needs it | | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Notifications** | New orders, message replies, billing updates. | | **Location: While Using the App** | Lets dispatch see your live location while the app is open. iOS won't let the app ask for *Always* on first launch — you grant **While Using**, then upgrade to **Always** the first time you enable location sharing. | | **Camera** | Photo proof, signatures captured on-screen, barcode and QR scanning. | After first launch, when you enable **Share Location with Dispatch** in **Settings**, iOS prompts a second time for **Always Allow** — that background grant is what keeps location flowing while the app is in the background or your phone is locked. See [Live location](/app/location) for what this looks like. ### Android | Prompt | Why the app needs it | | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Notifications** | New orders, message replies, billing updates. (Android 13+ requires an explicit prompt.) | | **Location: While using the app** | Live location while the app is open. | | **Location: Allow all the time** | Background location for active deliveries. Android 11+ requires this as a separate prompt after **While using**; the system shows a settings screen rather than a quick dialog. | | **Camera** | Photo proof, signatures, barcode and QR scanning. | > **Warning** > > If you deny notifications, you won't see new offer alerts until you > re-enable them in your phone settings. If you deny background location, > dispatch will stop seeing your position as soon as you switch apps or > lock the phone. You can change both later — see > [Settings](/app/settings). ## 4. Confirm you're signed in Once you're signed in, the app lands on the **Offers** tab. * If you have outstanding offers or staged orders, they show up here. * If you're brand new and your org hasn't assigned anything yet, the tab is empty — that's expected. ## If something looks different * **"WorkOS client ID is missing for this build."** You've installed a custom or internal build that isn't configured for production sign-in. Reinstall from the App Store or Play Store. * **Sign-in completes but the app shows "Unable to load driver profile."** Your account exists but doesn't have a driver record on the org you signed in under. Contact your dispatcher or [hi@chrt.com](mailto:hi@chrt.com) — this is most often a wrong-org or role-mismatch issue. * **You see a "this account isn't a driver" screen.** The org type doesn't permit driver app usage (for example, you signed in under a shipper-only org). Switch orgs from the screen, or sign out and back in under the right org. ## Related guides * [Welcome to the driver app](/app) — overview and platform differences. * [Accepting orders](/app/accepting-orders) — your first order. * [Settings](/app/settings) — change permissions, notification preferences, and your driver profile. * [Troubleshooting](/app/troubleshooting) — common driver-app issues. > Get the app on iPhone or Android, sign in, and grant the permissions the app needs.