Skip to main content
Key commands:Run cone help in your terminal to show all available commands.Run cone <command> --help or cone <command> -h for help with a specific command.

Overview

Cone interacts with the C1 API to manage access to entitlements. Usage:
cone [command]
CommandSubcommandDescription
awssetup credentialsAWS SSO integration: configure profiles and get credentials.
completionbash fish powershell zshGenerate the autocompletion script for the specified shell.
dropCreate a revoke access ticket for an entitlement by alias.
generate-aliasGenerate aliases for entitlements in C1.
getCreate an access request for an entitlement by alias.
get-userGet a user by ID.
hasCheck if the current user has a specific entitlement for an app.
helpHelp for any command
loginAuthenticate to C1, creating config.yaml if it doesn’t exist.
search
taskapprove  comment deny escalate get searchInteract with tasks directly.
virtual-entitlementscreateCreate virtual (manually-managed) entitlements on an app.
whoamiShow information about the current user.

Global flags

FlagDescription
--client-id stringClient ID.
--client-secret-stringClient secret.
--debugEnable debug logging.
-i, --non-interactiveDisable prompts.
-o, --output stringOutput format. Valid values: table, json, json-pretty. (Default: table.)
-p, --profile stringThe config profile to use. (Default: default.)
To see Cone’s current version number, run cone --version or cone -v.

AWS

AWS SSO integration commands. Cone can configure AWS CLI profiles backed by C1 access controls and fetch temporary credentials via AWS SSO. For a full walkthrough, see Using Cone with AWS SSO. Usage:
cone aws [command]
SubcommandDescription
setupConfigure AWS SSO and create profiles for available permission sets.
credentialsGet temporary AWS credentials for a profile.

setup

Scans C1 for all AWS permission set entitlements available to you and creates corresponding profiles in ~/.aws/config. Each profile uses credential_process to call cone aws credentials when the AWS CLI needs credentials. On first run, provide your SSO start URL and regions. These are saved to ~/.conductorone/config.yaml for future runs. Usage:
cone aws setup [flags]
FlagDescription
-h, --helpHelp for setup.
--region stringDefault AWS region for CLI profiles, such as us-west-2. (Default: us-east-1.)
--sso-region stringAWS region where SSO Identity Center is configured. (Default: us-east-1.)
--sso-url stringAWS SSO start URL. (Required on first run.)
Example:
# First-time setup
cone aws setup --sso-url https://myorg.awsapps.com/start --sso-region us-east-1 --region us-west-2

# Refresh profiles (reuses saved config)
cone aws setup

setup show

Display current AWS SSO configuration (SSO URL, SSO region, default region).
cone aws setup show

credentials

Retrieve temporary AWS credentials for an AWS SSO profile managed by Cone. This command checks C1 for an active grant. If you don’t have access, it automatically submits an access request, polls for up to 90 seconds for auto-approval, and returns credentials if approved. If the request requires manual approval, it tells you the request is pending. Can be used directly or as an AWS credential_process. Usage:
cone aws credentials <profile-name> [flags]
FlagDescription
-h, --helpHelp for credentials.
Example:
# Use directly
cone aws credentials myaccount-admin

# Or let AWS CLI call it via credential_process (configured by setup)
aws s3 ls --profile myaccount-admin

Completion

Generate the autocompletion script for cone for the specified shell. Usage:
cone completion [subcommand]
SubcommandDescription
bashGenerate the autocompletion script for Bash.
fishGenerate the autocompletion script for Fish.
powershellGenerate the autocompletion script for PowerShell.
zshGenerate the autocompletion script for Zsh.

bash

Generate the autocompletion script for Bash. Usage:
cone completion bash [flags]
FlagDescription
-h, --helpHelp for bash.
--no-descriptionsDisable completion descriptions.
This script depends on the ‘bash-completion’ package. If it is not installed already, you can install it via your operating system’s package manager. To load completions in your current shell session: source <(cone completion bash) To load completions for every new session, execute once: For Linux: cone completion bash > /etc/bash_completion.d/cone For macOS: cone completion bash > $(brew --prefix)/etc/bash_completion.d/cone You will need to start a new shell for this setup to take effect.

fish

Generate the autocompletion script for Fish. Usage:
cone completion fish [flags]
FlagDescription
-h, --helpHelp for fish.
--no-descriptionsDisable completion descriptions.
To load completions in your current shell session: cone completion fish | source To load completions for every new session, execute once: cone completion fish > ~/.config/fish/completions/cone.fish You will need to start a new shell for this setup to take effect.

powershell

Generate the autocompletion script for PowerShell. Usage:
cone completion powershell [flags]
FlagDescription
-h, --helpHelp for powershell.
--no-descriptionsDisable completion descriptions.
To load completions in your current shell session: cone completion powershell | Out-String | Invoke-Expression To load completions for every new session, add the output of the above command to your PowerShell profile.

zsh

Generate the autocompletion script for Zsh. Usage:
cone completion zsh [flags]
FlagDescription
-h, --helpHelp for zsh.
--no-descriptionsDisable completion descriptions.
If shell completion is not already enabled in your environment you must enable it. You can execute the following once: echo "autoload -U compinit; compinit" >> ~/.zshrc To load completions in your current shell session: source <(cone completion zsh) To load completions for every new session, execute once: For Linux: cone completion zsh > "${fpath[1]}/_cone" For macOS: cone completion zsh > $(brew --prefix)/share/zsh/site-functions/\_cone You will need to start a new shell for this setup to take effect.

Drop

Create a revoke access ticket for an entitlement by alias. Usage:
  cone drop <alias> [flags]
  cone drop --query <query> [flags]
  cone drop --app-id <app-id> --entitlement-id <entitlement-id> [flags]
FlagDescription
--alias stringThe entitlement alias to filter by.
-a, --app-id stringThe app ID to filter by.
--detailedShow more details about the app and entitlement for this request.
-e, --entitlement-id stringThe entitlement ID to filter by.
--forceForce the creation of a task even if the user already has (or doesn’t have) the entitlement.
--form-data stringForm field data as JSON. See Custom form fields for details.
-h, --helpHelp for drop.
-j, --justification stringThe justification for the request. (Default: Made with cone.)
-q, --query stringThe query to filter by.
-w, --waitWait for the task to be approved and provisioned.

Generate-alias

Generate aliases for entitlements in C1. This command scans entitlements, generates aliases based on a configurable schema, and updates them via the C1 API. Usage:
cone generate-alias [flags]
FlagDescription
--dry-runPreview changes without making them.
--entitlement-id stringsProcess only these entitlements.
--forceOverride ALL existing aliases (including AWS permission sets).
--force-non-awsOverride existing aliases for non-AWS entitlements.
--format stringCustom format string (only used with schema=custom). (Default: %r-%e.)
-h, --helpHelp for generate-alias.
--resource-type stringsOnly process entitlements with these resource types.
--schema stringAlias schema: resource-entitlement, app-entitlement, app-resource-entitlement, resource-type-entitlement, custom. (Default: resource-entitlement.)
--separator stringSeparator between components. (Default: -.)
--skip-awsSkip AWS permission sets entirely.
Schemas:
SchemaFormatExample
resource-entitlementresource + entitlementmy-group-admin
app-entitlementapp + entitlementgithub-admin
app-resource-entitlementapp + resource + entitlementgithub-my-group-admin
resource-type-entitlementresource type + entitlementgroup-admin
customUse --format with %a (app), %r (resource), %t (resource type), %e (entitlement)%a-%r-%e
Examples:
# Preview aliases without making changes
cone generate-alias --dry-run

# Generate with default schema
cone generate-alias

# Use app-based schema
cone generate-alias --schema app-entitlement

# Custom format
cone generate-alias --schema custom --format "%a-%r-%e"

Get

Create an access request for an entitlement by alias. Some entitlements may require custom form fields to be filled out when making an access request. If form fields are required, you will be prompted interactively to provide them, or you can provide them via the --form-data flag as JSON. See Custom form fields for more details. Usage:
cone get <alias> [flags]
cone get --query <query> [flags]
cone get --app-id <app-id> --entitlement-id <entitlement-id> [flags]
FlagDescription
--alias stringThe entitlement alias to filter.. by.
-a, --app-id stringThe app ID to filter by.
--detailedShow more details about the app and entitlement for this request.
-d, --duration stringThe length of time the entitlement is requested for, expressed as a sequence of decimal numbers, each with optional fraction and a unit suffix, such as “12h”, “1w2d” or “2h45m”. Valid units are (m)inutes, (h)ours, (d)ays, (w)eeks.
--emergency-accessRequest emergency access to the entitlement.
-e, --entitlement-id stringThe entitlement ID to filter by.
--forceForce the creation of a task even if the user already has (or doesn’t have) the entitlement.
--form-data stringForm field data as JSON. See Custom form fields for details.
-h, --helpHelp for get.
-j, --justification stringThe justification for the request. (Default: Made with cone.)
-q, --query stringThe query to filter by.
-w, --waitWait for the task to be approved and provisioned.

Custom form fields

Some entitlements are configured with custom form fields that must be filled out when requesting access. These fields allow administrators to collect additional information needed for the access request, such as a reason, project name, or other context-specific data. Interactive mode: When you run cone get without providing form data and the entitlement requires custom fields, Cone will interactively prompt you to enter values for each field. Fields may have default values that you can accept or override. Non-interactive mode: When using the -i or --non-interactive flag, you must provide all required form field values using the --form-data flag. Any fields with default values will automatically use those defaults if not explicitly provided. Providing form data via flag: Use the --form-data flag to provide form field values as a JSON object:
cone get my-entitlement --form-data '{"field1":"value1","field2":"value2"}'
Supported field types:
  • String fields: Text values, may have validation rules for minimum/maximum length
  • Boolean fields: true or false values
  • Integer fields: Numeric values, may have validation rules for min/max values
  • String list fields: Arrays of string values, provided as JSON arrays (e.g., ["value1","value2"])
Example with form data:
cone get github-admin --justification "Need admin access for release" --form-data '{"project":"myproject","reason":"quarterly-release"}'

Get-user

Get a user by ID. Usage:
cone get-user [flags]
FlagDescription
-h, --helpHelp for get-user.

Has

Check if the current user has a specific entitlement for an app. Usage:
cone has <app-id> <app-entitlement-id> [flags]
FlagDescription
-h, --helpHelp for has.

Help

Help provides help for any CLI command. Type cone help [path to command] for full details. Usage:
cone help [command] [flags]
FlagDescription
-h, --helpHelp for help.

Login

Authenticate to C1, creating the config.yaml file if it doesn’t exist. Usage:
cone login <tenant-name or tenant-url> [flags]
FlagDescription
-h, --helpHelp for login.
--profile stringConfig profile to create or update. (Default: default.)
Usage:
cone search [flags]
FlagDescription
--alias stringThe entitlement alias to filter by.
--app stringThe display name of the app to filter by.
--grantedOnly return granted tasks.
-h, --helpHelp for search.
--not-grantedOnly return ungranted tasks.
-q, --query stringThe query to filter by.

Task

A group of commands related to interacting with tasks directly. Usage:
cone task [flags]
cone task [command]
SubcommandDescription
approveMark a task as approved.
commentAdds the specified comment to a task.
denyMark a task as denied.
escalateEscalate an access request task to emergency access.
getGets a task by ID.
searchSearch for tasks using various filters.

approve

Mark a task as approved. Usage:
cone task approve <task-id> [flags]
FlagDescription
--comment stringComment to add to the task when performing an action.
-h, --helpHelp for approve.
-w, --waitWait for the task to be approved and provisioned.

comment

Adds the specified comment to a task. Usage:
cone task comment <task-id> <comment> [flags]
FlagDescription
-h, --helpHelp for comment.

deny

Mark a task as denied. Usage:
cone task deny <task-id> [flags]
FlagDescription
--comment stringComment to add to the task when performing an action.
-h, --helpHelp for deny.
-w, --waitWait for the task to be approved and provisioned.

escalate

Escalate an access request task to emergency access. Usage:
cone task escalate <task-id> [flags]
FlagDescription
-h, --helpHelp for escalate.

get

Gets a task by ID. Usage:
cone task get <task-id> [flags]
FlagDescription
-h, --helpHelp for get.

search

Search for tasks using various filters. Usage:
cone task search [flags]
FlagDescription
--access-review-ids stringsFilter tasks by access review ids (access review campaign this task belongs to).
--app-entitlement-ids stringsFilter tasks by app entitlement ids (target app entitlement of the ticket).
--app-ids stringsFilter tasks by app application ids (target application of the task).
--app-resource-ids stringsFilter tasks by app resource ids (target resource of the ticket).
--app-resource-type-ids stringsFilter tasks by app resource type ids (target resource type of the task).
--app-user-subject-ids stringsFilter tasks by app user subject ids (target of the task).
--assignee-ids stringsFilter tasks by who is currently assigned to them.
-h, --helpHelp for search.
--include-deletedInclude deleted tasks in the results.
--query stringQuery string to filter tasks.
--state stringFilter tasks by their state (open, closed).
--task-type stringFilter tasks by their task type (grant, revoke, certify).
--user-subject-ids stringsFilter tasks by user subject IDs (C1 user target of the task).

Virtual-entitlements

Create virtual (manually-managed) resource types, resources, and entitlements on a C1 app. Usage:
cone virtual-entitlements [command]
SubcommandDescription
createCreate virtual resource types, resources, and entitlements on an app.

create

Create virtual entitlements on an app. You can specify resources and entitlements via CLI flags or a YAML file. Usage:
cone virtual-entitlements create --app <app-id-or-name> --resource "My Group" --type GROUP --entitlements "Member" --entitlements "Admin"
cone virtual-entitlements create --app <app-id-or-name> --from-file entitlements.yaml
FlagDescription
--app stringApp ID or display name. (Required.)
--entitlements stringsEntitlement names. (Repeatable.)
-f, --from-file stringYAML file with resource/entitlement definitions.
-h, --helpHelp for create.
--resource stringResource display name.
-t, --type stringResource type: ROLE, GROUP, LICENSE, PROJECT, CATALOG, CUSTOM, VAULT, PROFILE_TYPE. (Default: CUSTOM.)
YAML file format:
resources:
  - name: "My Group"
    type: GROUP
    description: "optional"
    entitlements:
      - "Member"
      - "Admin"
  - name: "Another Resource"
    type: ROLE
    entitlements:
      - "Viewer"
      - "Editor"

Whoami

Information about the current user. Usage:
cone whoami [flags]
FlagDescription
-h, --helpHelp for whoami.