{
  "id": "cliproxyapi",
  "name": "CLIProxyAPI",
  "homepage": "https://github.com/router-for-me/CLIProxyAPI",
  "description": "An OpenAI/Gemini/Claude compatible API proxy.",
  "executables": [
    "cliproxyapi",
    "cli-proxy-api"
  ],
  "dotfiles": {
    "paths": [
      "~/.cli-proxy-api/config.yaml"
    ],
    "secret": [
      "~/.cli-proxy-api/*.json"
    ],
    "secret_paths": [
      {
        "file": "~/.cli-proxy-api/config.yaml",
        "format": "yaml",
        "match": {
          "key_path": [
            "remote-management.secret-key",
            "api-keys.*"
          ]
        }
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Run CLIProxyAPI",
    "description": "Start the proxy server, sign in to a provider, or open the management TUI. Other flags (Vertex import, discovery, home JWT, password) are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "help",
        "kind": "help",
        "url": "https://github.com/router-for-me/CLIProxyAPI/blob/main/cmd/server/main.go",
        "revision": "2026-10-27",
        "evidence": "./cli-proxy-api --config /path/to/your/config.yaml\nConnect a Devin account with --devin-login\n(flags registered in cmd/server/main.go with the Go flag package, which accepts one or two leading dashes)\nconfig: Configure File Path\nclaude-login: Login to Claude using OAuth\ncodex-login: Login to Codex using OAuth\ncodex-device-login: Login to Codex using device code flow\ndevin-login: Login to Devin using OAuth\nno-browser: Don't open browser automatically for OAuth\noauth-callback-port: Override OAuth callback port (defaults to provider-specific port)\ntui: Start with terminal management UI\nstandalone: In TUI mode, start an embedded local server\nlocal-model: Use embedded model catalogs unless models.catalog, models.codex-catalog, or models.devin-catalog explicitly overrides the source\n--config --claude-login --codex-login --codex-device-login --devin-login --no-browser --oauth-callback-port --tui --standalone --local-model\n"
      }
    ],
    "field": [
      {
        "id": "config",
        "label": "Config file",
        "type": "path",
        "option": [
          "--config"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "help"
        ]
      },
      {
        "id": "claude_login",
        "label": "Login to Claude (OAuth)",
        "type": "boolean",
        "option": [
          "--claude-login"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "codex_login",
        "label": "Login to Codex (OAuth)",
        "type": "boolean",
        "option": [
          "--codex-login"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "codex_device_login",
        "label": "Login to Codex (device code)",
        "type": "boolean",
        "option": [
          "--codex-device-login"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "devin_login",
        "label": "Login to Devin (OAuth)",
        "type": "boolean",
        "option": [
          "--devin-login"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "no_browser",
        "label": "Do not open a browser",
        "type": "boolean",
        "option": [
          "--no-browser"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "callback_port",
        "label": "OAuth callback port",
        "type": "integer",
        "option": [
          "--oauth-callback-port"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "tui",
        "label": "Terminal management UI",
        "type": "boolean",
        "option": [
          "--tui"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "standalone",
        "label": "Embedded local server (with TUI)",
        "type": "boolean",
        "option": [
          "--standalone"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "local_model",
        "label": "Use embedded model catalogs",
        "type": "boolean",
        "option": [
          "--local-model"
        ],
        "sources": [
          "help"
        ]
      }
    ],
    "task": [
      {
        "id": "serve",
        "label": "Start server",
        "fields": [
          "config",
          "local_model"
        ],
        "required": []
      },
      {
        "id": "claude",
        "label": "Login to Claude",
        "set": {
          "claude_login": [
            true
          ]
        },
        "lock": [
          "claude_login"
        ],
        "fields": [
          "claude_login",
          "config",
          "no_browser",
          "callback_port"
        ],
        "required": []
      },
      {
        "id": "tui",
        "label": "Management TUI",
        "set": {
          "tui": [
            true
          ]
        },
        "lock": [
          "tui"
        ],
        "fields": [
          "tui",
          "standalone",
          "config"
        ],
        "required": []
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "config",
          "claude_login",
          "codex_login",
          "tui"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "codex_device_login",
          "devin_login",
          "no_browser",
          "callback_port",
          "standalone",
          "local_model"
        ]
      }
    ]
  }
}
