CLI Reference¶
Argo Proxy v3 uses a subcommand-based CLI. If no subcommand is given, serve is assumed for backward compatibility.
Typo Detection
If you mistype a subcommand, argo-proxy will suggest the closest match:
Top-Level Usage¶
Global Options¶
| Option | Description |
|---|---|
-h, --help |
Show help message and exit |
-V, --version |
Show version and check for updates. Appends dependency update status (e.g., llm-rosetta) when updates are available |
serve — Start the Proxy Server¶
The default subcommand. Starts the argo-proxy server in universal mode (all 4 API formats).
Backward-compatible shorthand (no subcommand):
Positional Arguments¶
| Argument | Description |
|---|---|
config |
Path to configuration file (optional, searches default locations if omitted) |
Server Options¶
| Option | Description |
|---|---|
--host HOST, -H HOST |
Host address to bind the server to (default: from config or 0.0.0.0) |
--port PORT, -p PORT |
Port number (default: from config or random available port) |
--verbose, -v |
Enable verbose logging |
--quiet, -q |
Disable verbose logging |
--show, -s |
Show the current configuration during launch |
--no-banner |
Suppress the ASCII banner on startup |
--username-passthrough |
Use API key from request headers as user field |
--anthropic-stream-mode MODE |
Anthropic non-streaming handling: force (default), retry, or passthrough |
--legacy-argo |
Use legacy ARGO gateway pipeline instead of universal dispatch |
Legacy-Only Options¶
These options only apply when --legacy-argo is enabled:
| Option | Description |
|---|---|
--real-stream, -rs |
Enable real streaming (default behavior) |
--pseudo-stream, -ps |
Enable pseudo streaming |
--tool-prompting |
Enable prompting-based tool calls |
--enable-leaked-tool-fix |
Enable AST-based leaked tool call detection |
Examples¶
# Start in universal mode (default)
argo-proxy serve
# Start with custom host and port
argo-proxy serve --host 127.0.0.1 --port 8080
# Start with specific config file
argo-proxy serve /path/to/config.yaml
# Show config on startup
argo-proxy serve --show --verbose
# Start in legacy ARGO gateway mode
argo-proxy serve --legacy-argo
config — Manage Configuration¶
Manage configuration files without starting the server.
Actions¶
config edit¶
Open the configuration file in the system's default editor.
config validate¶
Validate the configuration file and test connectivity.
In universal mode, validates connectivity to the native OpenAI models endpoint (GET /v1/models). In legacy mode, validates the ARGO gateway chat and embedding endpoints.
config show¶
Display the fully resolved configuration.
Shows different fields depending on mode:
- Universal mode:
argo_base_url,native_openai_base_url,native_anthropic_base_url - Legacy mode:
argo_url,argo_stream_url,argo_embedding_url
config migrate¶
Migrate configuration from v1/v2 format to v3 format.
This will:
- Create a
.bakbackup of the original file - Set
config_version: "3" - Infer
argo_base_urlfrom legacy individual endpoint URLs if not set - Remove deprecated keys (
use_native_openai,use_native_anthropic,provider_tool_format) - Drop stale/unknown fields and produce canonical v3 output
config init¶
Create a new configuration interactively. Reuses the same wizard as first-time setup.
# Create at default location (~/.config/argoproxy/config.yaml)
argo-proxy config init
# Create at custom path
argo-proxy config init /path/to/config.yaml
# Overwrite existing config without confirmation
argo-proxy config init --force
| Option | Description |
|---|---|
config |
Custom file path (optional) |
--force, -f |
Overwrite existing config without confirmation |
config env¶
Show or switch the upstream ARGO API environment.
# Show current environment
argo-proxy config env
# Switch to production
argo-proxy config env prod
# Switch with explicit config path
argo-proxy config env dev -c /path/to/config.yaml
Available environments:
| Environment | Base URL |
|---|---|
prod |
https://apps.inside.anl.gov/argoapi |
dev |
https://apps-dev.inside.anl.gov/argoapi (default) |
test |
https://apps-test.inside.anl.gov/argoapi |
| Option | Description |
|---|---|
environment |
Target environment: prod, dev, or test (optional — omit to show current) |
-c, --config |
Config file path |
logs — Collect Diagnostic Logs¶
Collect diagnostic logs for analysis and debugging.
Actions¶
logs collect¶
Collect diagnostic logs into a timestamped tar.gz archive.
# Collect all diagnostic logs (default)
argo-proxy logs collect
# Collect only leaked tool call logs
argo-proxy logs collect --type leaked-tool
# Collect only stream retry request dumps
argo-proxy logs collect --type stream-retry
| Option | Description |
|---|---|
config |
Config file path (optional) |
--type, -t |
Log type to collect: leaked-tool, stream-retry, or all (default: all) |
Log types and their directories:
| Type | Directory | Description |
|---|---|---|
leaked-tool |
leaked_tool_calls/ |
Leaked tool call detection logs |
stream-retry |
stream_retry_dumps/ |
Anthropic stream retry request dumps (from --anthropic-stream-mode retry) |
update — Check and Install Updates¶
Check for new versions and install updates.
Actions¶
update check¶
Check for available stable and pre-release versions on PyPI. Shows a table covering both argo-proxy and its critical dependencies (e.g., llm-rosetta).
Example output:
Package Installed Stable Pre Status
─────────────────────────────────────────────────
argo-proxy 3.0.0 3.0.0 — ✓ up to date
llm-rosetta 0.5.1 0.5.1 — ✓ up to date
When updates are available, the Status column shows ⬆ update available and upgrade commands are printed below the table.
update install¶
Install the latest version.
# Install latest stable
argo-proxy update install
# Install latest pre-release
argo-proxy update install --pre
Automatically detects uv, pip, or python -m pip for installation.
models — List Available Models¶
List all available upstream models with their aliases and family classification.
Options¶
| Option | Description |
|---|---|
config |
Path to configuration file (optional) |
--json |
Output in JSON format |
Examples¶
Example output:
Available models: 22 models, 50 aliases
OpenAI (8 models)
gpt4o argo:gpt-4o
gpt4omini argo:gpt-4o-mini
...
Anthropic (5 models)
claudesonnet4 argo:claude-4-sonnet, argo:claude-sonnet-4
claudeopus4 argo:claude-4-opus, argo:claude-opus-4
...
Google (4 models)
gemini25flash argo:gemini-2.5-flash
...
Environment Variables¶
The following environment variables override configuration file settings:
| Variable | Description |
|---|---|
CONFIG_PATH |
Path to config file |
PORT |
Server port |
VERBOSE |
Enable/disable verbose logging |
ARGO_BASE_URL |
Override the Argo base URL |
USE_LEGACY_ARGO |
Enable legacy ARGO gateway mode |
ANTHROPIC_STREAM_MODE |
Anthropic non-streaming handling: force, retry, or passthrough |
SKIP_URL_VALIDATION |
Skip URL validation at startup |
Deprecated Environment Variables
The following variables are deprecated in v3.0.0 and will be ignored with a warning:
USE_NATIVE_OPENAI— native endpoints are now used by defaultUSE_NATIVE_ANTHROPIC— native endpoints are now used by defaultPROVIDER_TOOL_FORMAT— format conversion is handled by llm-rosetta