> ## Documentation Index
> Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Client

Filter models and presets by the named harness's eligibility policy: tool calling is required, and when one of your guardrails sets `enforce_first_party_harness_models`, only the harness vendor's own models remain (OpenAI for codex, Anthropic for claude\_code and claude\_desktop). When your workspace's Managed Machines policy sets a model list for that harness, only the listed models remain, and a preset remains only while every model it routes to is listed. This filter doesn't apply the harness's ranking, caps or Claude Desktop model ID aliases, so returned IDs stay routable. One of: claude\_code, claude\_desktop, codex. Omit it to get every model you can use.

## Example Usage

```go theme={null}
import (
	"github.com/OpenRouterTeam/go-sdk/models/operations"
)

value := operations.ClientClaudeCode

// Open enum: custom values can be created with a direct type cast
custom := operations.Client("custom_value")
```

## Values

| Name | Value |
| - | - |
| `ClientClaudeCode` | claude\_code |
| `ClientClaudeDesktop` | claude\_desktop |
| `ClientCodex` | codex |
