Skip to main content

Coding agents

Which model?​

ModelIDNote
Hippo Coding (recommended to start)hippo-coding (= openhippo/Qwen3.8-27B)Self-hosted in Augsburg, suitable for § 203 StGB, works with the starting credit
GLM 5.3aki-io/glm5.3-754bPartner model
DeepSeek V4.1aki-io/deepseek-v4.1-flash-552bPartner model

With these models we have had Claude Code and OpenCode complete multi-step tasks with tool calls. Partner models work only after your first top-up, otherwise 403 permission_denied, and are not intended for § 203 StGB, see Models.

Coding agents use a lot of tokens: set a budget on the key.

What the agent sends to the API

Coding agents send your prompts and the contents of your files (code, configuration, command output) to the API. With hippo-coding the processing stays on our hardware in Augsburg. With partner models it goes to the respective partner, see Data, security, compliance. Keep secrets out of files the agent reads.

Claude Code​

Claude Code speaks the Anthropic Messages API.

Put the settings into the env block of your user settings. They then apply in every project, and model switches with /model also end up at Open Hippo:

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.openhippo.io",
"ANTHROPIC_AUTH_TOKEN": "hk_live_...",
"ANTHROPIC_MODEL": "hippo-coding",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "hippo-coding",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "hippo-coding",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "hippo-coding",
"CLAUDE_CODE_SUBAGENT_MODEL": "hippo-coding"
}
}
VariablePurpose
ANTHROPIC_BASE_URLwithout /v1: Claude Code appends /v1/messages itself.
ANTHROPIC_AUTH_TOKENsends the key as Authorization: Bearer. Do not use ANTHROPIC_API_KEY.
ANTHROPIC_MODELMain model.
ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODELTarget of the opus and sonnet aliases, e.g. with /model.
ANTHROPIC_DEFAULT_HAIKU_MODELTarget of the haiku alias, also used for background tasks. Replaces the deprecated ANTHROPIC_SMALL_FAST_MODEL.
CLAUDE_CODE_SUBAGENT_MODELDefault model for subagents.

If one of these variables is left empty, Claude Code requests a Claude model at that point, which we do not have (400). Names as per the Anthropic docs. Do not put the key into a project's .claude/settings.json; that file gets committed.

Alternative: environment variables​

For a single try in the shell:

export ANTHROPIC_BASE_URL="https://api.openhippo.io"
export ANTHROPIC_AUTH_TOKEN="$OPENHIPPO_API_KEY"
export ANTHROPIC_MODEL="hippo-coding"
export ANTHROPIC_DEFAULT_OPUS_MODEL="hippo-coding"
export ANTHROPIC_DEFAULT_SONNET_MODEL="hippo-coding"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="hippo-coding"
export CLAUDE_CODE_SUBAGENT_MODEL="hippo-coding"
claude

If both set the same variable, Anthropic says the value from settings.json applies.

Variant with a partner model (after your first top-up, otherwise 403 permission_denied): replace hippo-coding everywhere with e.g. aki-io/glm5.3-754b.

Check​

  1. Create an empty folder and start claude in it.
  2. Type: Create a file hello.txt containing "Hello from Augsburg".
  3. Claude Code proposes creating the file and asks for your permission. Afterwards hello.txt is in the folder.
  4. The usage shows up in the console under Analytics or via GET /v1/usage.

Typical errors: 401 = wrong key or not set as ANTHROPIC_AUTH_TOKEN; 400 = a model name is wrong; 403 = partner model without a top-up. See Errors.

note

Anthropic officially supports Claude Code only with Claude models. Running it with other models through a gateway works in our tests but is outside Anthropic's support. If a model rejects Claude Code's experimental fields with 400, Anthropic names CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 as the fix (Anthropic docs).

OpenCode​

OpenCode connects to Open Hippo as an OpenAI-compatible provider. In opencode.json in your project, or globally in ~/.config/opencode/opencode.json:

{
"$schema": "https://opencode.ai/config.json",
"provider": {
"openhippo": {
"npm": "@ai-sdk/openai-compatible",
"name": "Open Hippo",
"options": {
"baseURL": "https://api.openhippo.io/v1",
"apiKey": "{env:OPENHIPPO_API_KEY}"
},
"models": {
"hippo-coding": { "name": "Hippo Coding (Augsburg)" },
"aki-io/glm5.3-754b": { "name": "GLM 5.3" },
"aki-io/deepseek-v4.1-flash-552b": { "name": "DeepSeek V4.1" }
}
}
}
}

{env:OPENHIPPO_API_KEY} reads the key from the environment. Then pick an "Open Hippo" model in OpenCode with /models. Format as per the OpenCode docs.

Cline​

In Cline's settings:

FieldValue
API ProviderOpenAI Compatible
Base URLhttps://api.openhippo.io/v1
API Keyyour key (hk_live_...)
Model IDe.g. hippo-coding

Field names as per the Cline docs. We have not tested Open Hippo with Cline yet. The model's context length is in the model list.