{
  "description": "Start a hardware-backed SSH agent for one identity: connect, open a shell, run a command, or run in the foreground. The command to run goes after the identity. PIN/passphrase helpers, GPG and age modes are left out.",
  "options": [
    {
      "names": [
        "--ecdsa-curve-name",
        "-e"
      ],
      "description": "ECDSA curve",
      "args": {
        "name": "curve",
        "isOptional": false,
        "suggestions": [
          {
            "name": "ed25519",
            "description": "ed25519"
          },
          {
            "name": "nist256p1",
            "description": "nist256p1"
          }
        ]
      }
    },
    {
      "names": [
        "--connect",
        "-c"
      ],
      "description": "Connect via SSH"
    },
    {
      "names": [
        "--shell",
        "-s"
      ],
      "description": "Open a shell under the agent"
    },
    {
      "names": [
        "--foreground",
        "-f"
      ],
      "description": "Run in foreground"
    },
    {
      "names": [
        "--sock-path"
      ],
      "description": "Socket path",
      "args": {
        "name": "sock_path",
        "isOptional": false,
        "template": "filepaths"
      }
    },
    {
      "names": [
        "--timeout"
      ],
      "description": "Connection timeout (seconds)",
      "args": {
        "name": "timeout",
        "isOptional": false
      }
    },
    {
      "names": [
        "--log-file"
      ],
      "description": "Log file",
      "args": {
        "name": "log_file",
        "isOptional": false,
        "template": "filepaths"
      },
      "isDangerous": true
    },
    {
      "names": [
        "--debug"
      ],
      "description": "Log SSH protocol messages"
    },
    {
      "names": [
        "--verbose",
        "-v"
      ],
      "description": "Verbose",
      "isRepeatable": true
    }
  ],
  "args": [
    {
      "name": "identity",
      "description": "Host identity such as user@host, optionally with port and path.",
      "isOptional": true
    },
    {
      "name": "command",
      "description": "Program and arguments run under the agent (placed after --).",
      "isOptional": true,
      "isVariadic": true
    }
  ],
  "name": "trezor-agent"
}
