The new Slack platform and the features described below are in beta and under active development.

Using the Slack CLI

The command line interface helps you create, run, and deploy new apps. The main command slack is your entryway to all other commands in the CLI.

Download the CLI

The command line interface is meant to make the process of creating new apps, running them, and deploying them easier. Binaries are available for several platforms.

The slack CLI is currently at version v1.16.4. See the changelog for details.

  Download for macOS (.tar.gz)

  Download for Linux (.tar.gz)

  Download for Windows (.zip)

The apps that you create with the CLI are Deno projects, so Deno is a prerequisite. If you do not have Deno installed, please do so first.

Existing slack binary in path?

If you happen to have another CLI tool in your path called slack, we recommend renaming our slack binary to a different name before adding it to your path.

Slack SDK

Use the Slack CLI in tandem with our SDK to access our API, additional documentation, and code libraries.

Click here to see version 1.4.2 on Github.

Have 2 minutes to provide some feedback?

We'd love to hear about your experience with the new Slack platform. Please complete our short survey so we can use your feedback to improve.

Next steps: Authorization

After you download the CLI, you'll need to authorize the CLI in your workspace. Follow the Quickstart guide to setup authorization and begin building your first app.

Version Update Notifications

Once a day, the CLI will check for updates after running any command. When an update is available, a notification will be displayed with a link where you can find and download the new version.

Update notifications can be disabled using a command-line flag or an environment variable. When running any command, you can append the --skip-update or -s flag. Alternatively, you can set the SLACK_SKIP_UPDATE environment variable and assign it any value.

Global Flags

Flag Description
--apihost Slack API host (default: https://slack.com)
--environment, -e Specify the app environment
--force, -f Force update app manifest
--help, -h Help for slack commands. Use this flag with any command (e.g. slack create --help) to get more information about a specific command
--verbose, -v Set to print verbose debug logging
--skip-update, -s Use to disable version update notifications
--runtime, -r Project's runtime language: deno, deno1.1, deno1.x, etc. (default: deno)
--workspace, -w Set a specific workspace by domain name

Integrating the CLI into a pipeline

In addition to being useful for setting up new projects and local development, the CLI can be integrated into test and deployment pipelines, for continuous integration and continuous deployment and other "headless" automation.

Running in a headless mode first requires authorization using the --auth flag and passing along a user token. This will generate the authorization credentials required in a ~/.slack directory. Removing this directory will remove the authorization.

Once authorized, any slack command can be run as normal and will use the established auth.