anymodel

Normalizes AnyModel proxy traffic and sanitizes tool schemas for client compatibility.

42|21|Updated Apr 2, 2026
One-click install
npx skills add https://github.com/anton-abyzov/anymodel --skill anymodel
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: anymodel
Source: https://github.com/anton-abyzov/anymodel/tree/main/.claude/skills/anymodel
Command: npx skills add https://github.com/anton-abyzov/anymodel --skill anymodel

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

AnyModel development requires taming Claude Code traffic, sanitizing tool schemas, and keeping proxy, CLI, and deployment workflows aligned across providers and the website. This Skill documents the architectural rules, branding expectations, environment variables, and release pipeline so every contributor can work confidently on the full AnyModel lifecycle.

Core Features & Use Cases

  • Proxy Sanitization & Tool Compatibility: Explains how sanitizeBody() strips Anthropic-only fields, clamps max_tokens, fixes tool schemas, normalizes tool_choice data, and retries without tools when needed.
  • Provider Routing & Client Discovery: Details the OpenRouter, Ollama, and OpenAI provider implementations, client lookup order, environment variables, and how the violet AnyModel branding must stay intact.
  • Preset Deployment & Debugging: Covers preset updates, npm publishing, website deployment, syncing the bundled client, test requirements, logging conventions, and a sample use case for adding a new provider or preset safely.

Quick Start

Launch the AnyModel proxy with your chosen provider and connect the client so requests flow through the sanitized AnyModel routing logic.

Frequently Asked Questions about anymodel

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I normalize Claude Code traffic through a proxy for different providers?

To normalize Claude Code traffic through a proxy, the system applies a sanitization function that strips Anthropic-only fields, clamps max_tokens, and fixes tool schemas. This ensures every provider request remains compatible with the client's expectations.

What does proxy sanitization do for incompatible tool schemas?

Proxy sanitization fixes incompatible tool schemas by normalizing tool_choice data and retrying requests without tools when necessary. This process strips Anthropic-only fields and clamps max_tokens to ensure full client compatibility.

How do I route requests to OpenRouter, Ollama, or OpenAI providers?

Provider routing directs requests to OpenRouter, Ollama, or OpenAI based on a defined client lookup order and environment variables. This routing logic maintains consistent branding and standardized request formatting across all supported providers.

Can I use this proxy workflow for npm publishing and website deployment?

Yes, the proxy workflow supports the full deployment pipeline including npm publishing, website deployment, and syncing the bundled client. It also covers preset updates, test requirements, and logging conventions for safe releases.

What is the best way to add a new provider to an existing proxy setup?

The best way to add a new provider is to follow the prescribed preset management and deployment pipeline, which includes updating npm deployments, syncing the bundled client, and meeting all test requirements to ensure safe integration.

Why does my client request fail when routing through a proxy?

Client requests fail when routing through a proxy if tool schemas are incompatible or Anthropic-only fields are not stripped. The sanitization process fixes tool_choice data, clamps max_tokens, and retries without tools to resolve these errors.