Skip to contents

Returns a data frame describing the models exposed by the active backend.

Usage

hal_models(client = NULL)

Arguments

client

A HalClient instance, or NULL to create one (Copilot only).

Value

A data frame with columns:

  • id — model identifier (matches --model flag)

  • name — display name

  • description — vendor-supplied prose (may be NA)

  • provider — "openai", "anthropic", "google", or "unknown"

  • family — coarse tier: "light", "standard", "heavy"

  • usage — billing tier label (e.g. "1x", "0.33x", "0x")

  • multiplier — numeric form of usage

  • is_default — TRUE if currently selected as session default

  • context_window — token limit when known (NA otherwise)

  • release_date — ISO date when known (NA otherwise)

Details

  • Copilot: queries the ACP server (session/new) to fetch live model metadata.

  • Claude: returns the alias selectors (opus/sonnet/haiku), which Anthropic resolves to the latest model of each tier – the Claude CLI exposes no live model list. Pass a concrete id (e.g. "claude-opus-5") to model= if you need to pin a version.

  • vscode: queries the hal-bridge /models endpoint, which returns whatever models vscode.lm exposes to your Copilot session.

See also

hal_model_info() for full per-model detail (incl. raw _meta).

Examples

if (FALSE) { # \dontrun{
hal_models()
subset(hal_models(), provider == "anthropic")
} # }