This article follows the official documentation. We haven’t tested this tool for a hands-on review.
When a coding agent needs to create or maintain software that connects to Slack, it can use the Slack CLI to create a starter app and run it. The agent can also deploy the app and inspect its activity. A Slack app is code that connects a service to Slack features such as messages, events, and workflows. The CLI supports apps built with Bolt for JavaScript or Python, and the Deno Slack SDK, according to the Slack CLI documentation.
The CLI itself is not a coding agent. A coding agent can use it as a shell tool while it edits the app’s code. Slack also publishes the Slack MCP and Skills Plugin for coding agents like Claude Code and Cursor. One of its skills covers the Slack CLI, so the agent knows how to create and run Slack apps from the terminal. The CLI’s slack create agent <name> command is a different thing. It starts a new project for an AI agent app, which is a Slack app of its own.
For example, an agent could use Slack’s Deno starter template to create a local project. It could then inspect the manifest (the file that describes the app’s configuration) and the code that responds to Slack activity before running the app locally. The template includes examples of Slack app components such as triggers, functions, workflows, and datastores.
Install and authenticate
On macOS and Linux, the installation guide documents this automated installer:
curl -fsSL https://downloads.slack-edge.com/slack-cli/install.sh | bash
The same guide describes a manual installation, and Windows has its own installation guide. Run slack version afterwards to check that the command is on your path.
The CLI uses slack login to connect to a Slack workspace. According to the authorization guide, the command prints a /slackauthticket slash command. You paste it into a conversation in the workspace and approve the permissions. Slack then shows a challenge code, which you paste back into the terminal. The CLI saves the authorization data to ~/.slack/credentials.json, and slack auth list shows the authorized workspaces. Do these steps in your own terminal, and keep any credentials out of the coding agent’s prompt. The agent needs access to the authenticated CLI session, not the secret used to establish it. Check that the selected workspace is the one where you intend to develop.
Scaffold and run a local app
A useful first task is to have an agent create a local starter project and explain its structure without deploying it. The Deno starter template is an official sample repository for Slack CLI projects, and Slack’s Deno getting-started guide uses it. The guide says workflow apps require a paid Slack plan. It also says a sandbox from Slack’s Developer Program gives access to all Slack features for free. Check the workspace plan before choosing this template.
Start creating a project with these commands:
slack login
slack create my-app -t slack-samples/deno-starter-template
The -t flag picks the template, and my-app is the name of the new project directory. Then enter that directory and start the app:
cd my-app
slack run
slack create writes project files on your machine. slack run starts a local development server and connects it to Slack; it does not deploy the app. It does install a development version of the app in the workspace you pick, marked with (local) in its name. On the first run, the CLI can also offer to create a trigger, such as a shortcut link that people in the workspace can use. The --hide-triggers flag turns off these trigger prompts. The behavior during a local run depends on the starter’s code and configuration, so have the agent inspect those files before triggering app behavior in a workspace.
To follow the app’s activity while it runs, open another terminal in the project directory and use:
slack activity --tail
This command streams activity for the app through the CLI. It makes a network request to Slack to retrieve activity; it does not, by itself, deploy code or change the app’s configuration. The CLI documents slack run and slack activity --tail as local development and monitoring commands.
A coding agent prompt for this task could be:
Use the Slack CLI to create a local project from the official Deno starter template. Read the generated files and summarize the app’s entry points, manifest, and included Slack features. Do not deploy the app or trigger actions in the workspace.
The agent should report what it finds in the generated project rather than assume the starter contains a particular handler or output.
When the agent needs to look something up, slack docs search searches Slack’s developer documentation from the terminal. The command reference documents JSON output and a result limit, for example slack docs search "chat.postMessage" --output=json --limit=5.
Keep deployment separate
The CLI also provides slack deploy, which deploys the app to Slack. The CLI updates the app in Slack when you deploy it. Creating files leaves the Slack app unchanged, and a local run only changes the development version. Review the generated code and manifest before deploying, and deploy only when you intend to update the Slack app. The CLI also has commands for managing triggers and other app resources, so commands beyond local inspection can affect workspace configuration.
The Slack CLI builds and manages Slack apps in general. The agent’s own behavior comes from the coding agent you use, and the Slack app’s behavior comes from the code and services you build into it.