Skip to main content

An Okta command line interface for scripting and quickly performing routine tasks

Project description



This is a python-based CLI tool for Okta. It is not made or maintained by or in any way affiliated with anyone working at Okta. It is mainly driven by the personal needs of its author, although the feature set is becoming quite complete now.

It basically is a CLI wrapper around the Okta REST API.

NOTE: This is not the same as Okta's own okta CLI interface. The latter is apparently used for setting up the source for development projects.


  • A Mac or Linux machine, it might work on Windows (untested)
  • Python 3.7+, for the change log see CHANGES.rst.
  • unfortunately Python 3.11 is not yet supported due to a dependency.


Mac & homebrew

brew tap flypenguin/okta-cli
brew install okta-cli

All others

  • create a python virtualenv: mkvirtualenv okta-cli
  • pip install okta-cli
  • start using it: okta-cli config new


Every more complex function should have help texts available: okta-cli users add -h, or maybe okta-cli users update -h or maybe okta-cli apps add -h ... those are probably the most interesting ones.

$ pip install okta-cli                                # install :)
$ okta-cli config new \                               # create a new okta profile
           -n my-profile -\
           -u https://my.okta.url \
           -t API_TOKEN
$ okta-cli users list \                               # search users with a query
           -f ' eq ""'
$ okta-cli features list                              # list okta server-side features
$ okta-cli features enable "Recent Activity"          # enable an Okta feature
$ okta cli users groups adduser \                     # add a user to a group
           -g app1_rollout \
$ okta-cli apps adduser \                             # assign an app to a user
           -a my_app_name -u 0109121 \
           -f profile.employeeId
$ okta-cli users update id012345678 \                 # update a field of a user record
$ okta-cli users bulk-update update-list.xlsx         # CSV is okay as well :)
$ okta-cli version                                    # print version and exit
$ okta-cli users get my-login -vvvvv                  # see http debug output


Running config new (see above) will store a JSON configuration file in the directory determined by the appdirs module.


This project uses a few nice other projects:

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

okta-cli-18.0.4.tar.gz (2.8 MB view hashes)

Uploaded source

Built Distribution

okta_cli-18.0.4-py3-none-any.whl (2.8 MB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page