Semaphore Command Line Interface
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Semaphore CLI

Semaphore logo

Build Status Gem Version

Note: The Semaphore CLI gem is still an alpha release.

The Semaphore CLI is used to manage Semaphore projects from the command line.

For more info about Semaphore see


First, install the gem on your local machine:

$ gem install sem

Login to Semaphore:

$ sem login --auth-token <your-auth-token>

Display the help screen:

$ sem help

Usage: sem [command]

Command list, type sem help [command] for more details:

  version         Check cli version
  login           Log in to semaphore from the command line
  logout          Log out from semaphore

  orgs            Manage organizations
  teams           Manage teams and team membership
  shared-configs  Manage shared configurations
  projects        Manage projects


For problems directly related to the CLI, add an issue on GitHub.

For other issues, submit a support ticket.



Developing the CLI locally requires Ruby >= 2.0. While developing please follow the CLI development guide.

To run the CLI locally, use the bundle exec sem.

Generating Docs

First, generate a JSON structure of the CLI, by running:


Use that structure to generate docs in the semaphore-docs-new repository.

Semaphore Resource Name (SRN)

SRN is a way of identifying Semaphore resources. This CLI uses SRNs as arguments for all actions.

Formats for individual resources are the following:

  • Organization: organization_name
  • Team: organization_name/team_name
  • Project: organization_name/project_name
  • Shared Configuration: organization_name/shared_configuration_name

Using custom API URL

Create a file at ~/.sem/api_url containing only the custom url.