---
title: DevClient
description: A library that allows creating a development build and includes useful development tools.
sourceCodeUrl: https://github.com/expo/expo/tree/sdk-51/packages/expo-dev-client
packageName: expo-dev-client
iconUrl: /static/images/packages/expo-dev-client.png
platforms: ["android", "ios"]
---
`expo-dev-client` adds various useful development tools to your debug builds:
- A configurable launcher UI, so you can launch updates (such as from [PR previews](/develop/development-builds/development-workflows#pr-previews)) and switch between development servers without needing to recompile the native app
- Improved debugging tools (such as support for [inspecting network requests](/debugging/tools/#inspecting-network-requests))
- [A powerful and extensible developer menu UI](/debugging/tools#developer-menu)
Expo documentation refers to debug builds that include `expo-dev-client` as [development builds](/develop/development-builds/introduction/).
## Installation
If you are installing this in an [existing React Native app](/bare/overview/), start by installing [`expo`](/bare/installing-expo-modules/) in your project. Then, follow the instructions from [Install `expo-dev-client` in an existing React Native project](/bare/install-dev-builds-in-bare/).
## Configuration in app config
You can configure development client launcher using its built-in [config plugin](/config-plugins/introduction/) if you use config plugins in your project ([EAS Build](/build/introduction) or `npx expo run:[android|ios]`). The plugin allows you to configure various properties that cannot be set at runtime and require building a new app binary to take effect.
```json app.json
{
"expo": {
"plugins": [
[
"expo-dev-client",
{
"launchMode": "most-recent"
}
]
]
}
}
```
## API
```js
```