agentc
GitHubagentc-sh/agentc
agentc
GitHubagentc-sh/agentc
›Introduction
Get started›Concepts in 5 minutes›Build your first agent›Add your first tool›Serve and connect
Concepts›Architecture overview›The manifest›The compilation pipeline›Archetypes›The graph›Tools and capabilities›Runtime libraries›Skills›Agents and prompts›Serving and protocols›Observability
Guides›Author a manifest›Write a tool›Give your agent a filesystem›Control network egress›Connect external tools via MCP›Connect agents via A2A›Use the bash tool›Control tool access with capabilities›Write templated prompts›Manage prompts with Langfuse›Pass context from the client›Configure a model provider›Connect a CopilotKit frontend›Deploy a standalone binary›Deploy with Docker and PostgreSQL›Instrument with OpenTelemetry›Extend code generation with blocks
Reference
Manifest
›build›locals›runtime›filesystem›network
providers
›Anthropic›OpenAI›Ollama›OpenRouter›xAI›Gemini›Hugging Face
›agent›graph›tool›skill›http_server
Runtime
›Observability

Anthropic

Configuration for the Anthropic model provider.

The anthropic sub-block configures the Anthropic cloud provider, which serves Claude models.

Fields

FieldTypeRequiredruntime()Description
modelslistnonoAllowlist of models for this provider. Each entry is a plain string or a config object with name and params. When omitted, no allowlist is enforced.
configblocknoConnection configuration.
config.api_keystringnoyesAnthropic API key. Wrap in secret(runtime(...)) to keep it out of build artifacts.
config.base_urlstringnoyesAPI base URL. Useful for proxies or private endpoints.
paramsblocknoProvider-level inference parameter defaults. Applied to every request unless overridden at the model level.

The config block is optional. When omitted, the Anthropic SDK reads credentials from the ANTHROPIC_API_KEY environment variable using its standard resolution logic.

params

The params block sets inference parameter defaults for all models under this provider. All fields are optional and support runtime().

FieldTyperuntime()Description
max_tokensintegeryesMaximum number of tokens to generate.
temperaturefloatyesSampling temperature.
top_pfloatyesNucleus sampling probability.
top_kintegeryesTop-K sampling limit.
stop_sequenceslist of stringsyesSequences that stop generation.
frequency_penaltyfloatyesPenalty for token frequency.
presence_penaltyfloatyesPenalty for token presence.
seedintegeryesSeed for deterministic sampling.
provider_paramsobjectyesProvider-specific parameters passed directly to the API. Use this for options not covered by the typed fields above, such as extended thinking.

For provider-specific options not covered by these fields, such as extended thinking, use the provider_params field of the model override at request time.

Example

agent.acl
providers {
  anthropic {
    models = [
      "claude-haiku-4-5",
      {
        name = "claude-opus-4-7"
        params {
          max_tokens  = 16000
          temperature = 0.8
        }
      }
    ]

    config {
      api_key  = secret(runtime("ANTHROPIC_API_KEY"))
      base_url = runtime("ANTHROPIC_BASE_URL", "https://api.anthropic.com")
    }

    params {
      max_tokens  = 4096
      temperature = 0.5
    }
  }
}

In this example, requests to claude-haiku-4-5 use the provider-level defaults (max_tokens = 4096, temperature = 0.5). Requests to claude-opus-4-7 use its own model-level params instead (max_tokens = 16000, temperature = 0.8).

tip

Always wrap API keys in secret(runtime(...)). This prevents the key from appearing in build artifacts and the output of agentc inspect.

← PreviousprovidersNext →OpenAI

© 2026 pogue.dev. All rights reserved.

Creative CommonsCC BY 4.0
On this pageFieldsparamsExample

Search docs

Search the agentc documentation