Kobiton Command Line Interface commands

These are the commands you can use with the Kobiton Command Line Interface (CLI) tool.

app run

Run app on device.

Syntax
kobiton app run [OPTIONS] <APP_IDENTIFIER> [ARGS]...

Requires:

  • [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable

  • <APP_IDENTIFIER>: package name or bundle ID of the app to run

Example
kobiton app run com.example.app
Output
PID 32124

app kill

Kill app on device.

Syntax
kobiton app kill [OPTIONS] <IDENTITY>

Requires:

  • [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable

  • <IDENTITY>: package name or bundle ID of the app to kill

Example
kobiton app kill com.example.app

app install

Install app on device.

Syntax
kobiton app install [OPTIONS]

Requires:

  • [OPTIONS]: requires -s <SESSION_ID> and -n <NAME>

Example
kobiton app install -s 123 -n 651911
Output
Install app successfully

app uninstall

Uninstall app on device.

Syntax
kobiton app uninstall [OPTIONS] <APP_IDENTIFIER>

Requires:

  • [OPTIONS]: requires -u <UDID>

  • <APP_IDENTIFIER>: package name or bundle ID of the app to uninstall

Example
kobiton app uninstall -u 3e4e7fe7 com.example.app
Output
The application is uninstalled successfully

app upload

Upload an app to the Kobiton App Repo.

Syntax
kobiton app upload [OPTIONS] <PATH> [APP_ID]

Requires:

Example
kobiton app upload ./sample.apk
Output
Application uploaded.  Parsing status OK.
App ID: 651911
Version ID: 739431

app find

Find an app on the Kobiton App Repo using keyword.

Syntax
kobiton app find [OPTIONS] <KEYWORD>

Requires:

  • <KEYWORD>: keyword to find the app. Put <KEYWORD> between double quotes for space or special character.

Example
kobiton app find "example app"
Output
Name: Example App
Version: 4.1.1
App ID: 651911
Version ID: 739431

file list

List files on the specified path of the device.

Syntax
kobiton file list [OPTIONS] [PATH]

Requires:

  • [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable.

If [PATH] is empty, the home location is used.
Example (Android)
kobiton file list /data/local/tmp
Example (iOS)
kobiton file list @com.sample.app:./Documents/
Output
sampleFolder
sampleFile1.tmp

file push

Push a file to the specified path on the device.

Syntax
kobiton file push [OPTIONS] <LOCAL_PATH> <REMOTE_PATH>

Requires:

  • [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable.

  • <LOCAL_PATH>: local file path to push.

If <REMOTE_PATH> is empty, the home location is used.
Example (Android)
kobiton file push foo.dat /data/local/tmp/foo.dat
Example (iOS)
kobiton file push foo.dat @com.company.app:Documents/foo.dat
Output
Pushed 505031 bytes to /data/local/tmp/foo.dat

file pull

Pull a file from the specified path on the device.

Syntax
kobiton file pull [OPTIONS] <REMOTE_PATH> [LOCAL_PATH]

Requires:

  • [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable.

  • <REMOTE_PATH>: remote location of the file to pull from.

If [LOCAL_PATH] is empty, the current location is used.
Example (Android)
kobiton file pull /data/local/tmp/foo.dat foo.dat
Example (iOS)
kobiton file pull @com.company.app:Documents/foo.dat
Output
Pulled 505031 bytes to foo.dat

device list

List devices.

Syntax
kobiton device list [OPTIONS]

Highly recommended to use:

  • --private: filter only private devices.

  • --booked false: filter only devices not in use.

  • --reserved false: filter only devices not retained.

Example
kobiton device list --private --booked false --reserved false
Output
Display Name, UDID, Platform, List, Status, Host
iPhone 12, 79de3c497b9f1****19040aeb44, iOS 18.1, Private, ACTIVATED, 192.168.50.86

device adb-shell

Run ADB shell command on Android device.

Syntax
kobiton device adb-shell [OPTIONS] [ARGS]...

Requires:

  • [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable.

If [ARGS]…​ is not provided, launch an interactive adb shell.
Example
kobiton device adb-shell "dumpsys window displays | grep -E 'mCurrentFocus|mFocusedApp'"
Output
mCurrentFocus=Window{272f9b1 u0 com.example.app/MainActivity}
mFocusedApp=ActivityRecord{3d12396 u0 com.example.app/.MainActivity t2823}

device forward

Forward a port on the device to a port on the local machine.

Syntax
kobiton device forward [OPTIONS] <LOCAL_ADDRESS> <REMOTE_ADDRESS>

Requires:

  • [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable.

  • <LOCAL_ADDRESS> and <REMOTE_ADDRESS>: must follow tcp:<port> format.

Example
kobiton device forward tcp:8080 tcp:80
Output
Listening on 127.0.0.1:8080.

device ps

View running processes on the device.

Syntax
kobiton device ps [OPTIONS]

Requires:

  • [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable.

Example
kobiton device ps
Output
PID NAME
 1 init
 2 [kthreadd]
 3 [rcu_gp]
 5 [kworker/0:0H]

session create

Create a CLI session.

Syntax
kobiton session create [OPTIONS]

Requires

  • [OPTIONS]: requires -u <UDID>.

Use -t to set session timeout in minutes. Default/minimum is 10 and maximum is 120.
Example
kobiton session create -u 3e4e7fe7
Output
Session 8155111 created for device 3e4e7fe7.
Session token eyJhbGciOiJ...

session end

End an active session (all types).

Syntax
kobiton session end [OPTIONS]

Requires:

  • [OPTIONS]: requires -s <SESSION_ID>

Example
kobiton session end -s 8155111
Output
Session 8155111 ended.

session terminate

Terminate a non-responsive session (all types).

Syntax
kobiton session terminate [OPTIONS]

Requires:

  • [OPTIONS]: requires -s <SESSION_ID>

Example
kobiton session terminate -s 8155111
Output
Session 8155111 terminated.

session delete

Delete and remove a completed CLI session from the Session list.

Syntax
kobiton session delete [OPTIONS]

Requires:

  • [OPTIONS]: requires -s <SESSION_ID>

Example
kobiton session delete -s 8155111
Output
OK

session ping

Ping an active CLI session to reset the timeout counter.

Syntax
kobiton session ping [OPTIONS]

Requires:

  • [OPTIONS]: requires both -s <SESSION_ID> and KOBITON_SESSION_TOKEN environment variable (or -a <SESSION_TOKEN>).

Example
export KOBITON_SESSION_TOKEN=<SESSION_TOKEN> # Skip if already imported
kobiton session ping -s 8155111
Output
Session 8155111 pinged.

session list-active

List active sessions (all types).

Syntax
kobiton session list-active [OPTIONS]
Example
kobiton session list-active
Output
Session 8155111, device 3e4e7fe7, status RUNNING, created 2025-10-09T03:38:03Z, ended active

session show

Show details of a session (all types).

Syntax
kobiton session show [OPTIONS]

Requires:

  • [OPTIONS]: requires -s <SESSION_ID>

Example
kobiton session show -s 8155111
Output
Session 8155111: Session created at 10/09/2025 04:13 AM
Created: 2025-10-09T03:13:55.698Z
Ended: 2025-10-09T03:31:26.973Z
Device 3e4e7fe7: Android 11
Status: COMPLETE

test run

Run a native framework automation session (XCUITest, UIAutomator, or Espresso). GameDriver is not supported.

Syntax
kobiton test run [OPTIONS] --app <APP> --runner <TEST_RUNNER> <FRAMEWORK>

Requires:

  • [OPTIONS]: different requirements based on framework:

    • Either -u <UDID> or -d <DEVICE_NAME> is required for any framework.

    • Either -t <TESTS> or --plan <TEST_PLAN> is required for XCUITest.

      • <TEST_PLAN> must be a direct URL. Local path is not supported.

  • <FRAMEWORK>: must be either uiautomator2 or xcuitest.

  • <APP> and <TEST_RUNNER>: must be either Kobiton App Repo ID (kobiton-store:<APP_ID> or kobiton-store:v<APP_VERSION_ID>) or direct URL. Local path is not supported.

Add the --follow argument to continually request the status of the test until completion, then print a plain text test report.
Example (UIAutomator or Espresso)
kobiton test run --app kobiton-store:662537 --runner kobiton-store:v762538 -u 3e4e7fe7 uiautomator
Example (XCUITest)
kobiton test run --app kobiton-store:662538 --runner kobiton-store:v762548 --plan https://example.com/test-plans/sample.xctestplan -u 00008120-000E44D***28C01E --follow xcuitest
Output
#UIAutomator/Espresso
UIAUTOMATOR Session 8155157 started.
#XCUITest
XCUITEST Session 8155161 started.
#XCUITest with --follow
Session 8155172: XCUITEST test session
Created: 2025-10-09T04:25:41.896Z
Device 00008120-000E44D***28C01E: iOS 16.1
Status: START
Session 8155172: XCUITEST test session
Created: 2025-10-09T04:25:43.769Z
Ended: 2025-10-09T04:26:26.261Z
Device 00008120-000E44D***28C01E: iOS 16.1
Status: COMPLETE
Test Suite:
Tests: 2
Failures: 0
Errors: 0
Skipped: 0
Duration: 1.000
Start Time: 2025-10-09T11:24:58
End Time: 2025-10-09T11:24:59
XCUITestSampleUITests#testABC [0.402] PASSED
out: Start Test at 2025-10-09 11:24:58.275
out: Set Up
out: Tear Down
XCUITestSampleUITests#testXYZ [0.324] PASSED
out: Start Test at 2025-10-09 11:24:58.684
out: Set Up
out: Tear Down