{
  "id": "granted",
  "name": "Granted",
  "homepage": "https://docs.granted.dev",
  "executables": [
    "assume",
    "granted"
  ],
  "dotfiles": {
    "paths": [
      "~/.granted/config"
    ],
    "exclude": [
      "~/.granted/aws_profiles_frecency"
    ],
    "secret": [],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Assume an AWS role",
    "description": "Assume an AWS profile with Granted's assume, optionally opening the AWS console. It prints shell exports through the assume wrapper, so run it in a shell where Granted is set up. SSO flags, credential export and access-request options are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "docs",
        "kind": "manual",
        "url": "https://docs.granted.dev/usage/console",
        "revision": "2026-10-27",
        "evidence": "assume <PROFILE_NAME>\nassume -c role-a\n--console or -c\n--region or -r\nassume -c -r ap-southeast-1 role-a\n--service or -s\nassume -s iam\n--console-destination or -cd\n--active-role or -ar\nTo return the URL to stdout instead of launching a browser, use the --url flag.\n--duration or -d\n"
      }
    ],
    "field": [
      {
        "id": "profile",
        "label": "AWS profile",
        "description": "Profile name from ~/.aws/config. Leave empty to pick one interactively.",
        "type": "string",
        "position": 0,
        "sources": [
          "docs"
        ]
      },
      {
        "id": "console",
        "label": "Open the AWS console",
        "type": "boolean",
        "option": [
          "--console",
          "-c"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "service",
        "label": "Console service",
        "description": "Open the console at a specific service, for example iam or cfn.",
        "type": "string",
        "option": [
          "--service",
          "-s"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "region",
        "label": "Region",
        "type": "string",
        "option": [
          "--region",
          "-r"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "console_destination",
        "label": "Console destination URL",
        "type": "url",
        "option": [
          "--console-destination",
          "-cd"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "url",
        "label": "Print console URL instead of opening a browser",
        "type": "boolean",
        "option": [
          "--url"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "duration",
        "label": "Session duration",
        "description": "For example 1h.",
        "type": "string",
        "option": [
          "--duration",
          "-d"
        ],
        "sources": [
          "docs"
        ]
      },
      {
        "id": "active_role",
        "label": "Use the active role",
        "type": "boolean",
        "option": [
          "--active-role",
          "-ar"
        ],
        "sources": [
          "docs"
        ]
      }
    ],
    "task": [
      {
        "id": "terminal",
        "label": "Assume a role in this terminal",
        "fields": [
          "profile",
          "region",
          "duration"
        ],
        "required": []
      },
      {
        "id": "console",
        "label": "Open a role in the AWS console",
        "set": {
          "console": [
            true
          ]
        },
        "lock": [
          "console"
        ],
        "fields": [
          "profile",
          "console",
          "service",
          "region",
          "console_destination",
          "url"
        ],
        "required": []
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "profile",
          "console",
          "service",
          "region"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "console_destination",
          "url",
          "duration",
          "active_role"
        ]
      }
    ]
  }
}
