[provider_defaults.anthropic]
message_wire_format = "anthropic"
native_tool_wire_format = "anthropic"
file_upload_wire_format = "anthropic"
files_api_supported = true
seed_supported = false
frequency_penalty_supported = false
presence_penalty_supported = false
[provider_defaults.openai]
top_k_supported = false
[provider_defaults.openrouter]
reasoning_wire_format = "openrouter"
top_k_supported = false
[provider_defaults.huggingface]
top_k_supported = false
[provider_defaults.local]
top_k_supported = false
[provider_defaults.together]
reasoning_wire_format = "enabled"
[provider_defaults.ollama]
message_wire_format = "ollama"
image_url_input_supported = false
frequency_penalty_supported = false
presence_penalty_supported = false
[provider_defaults.gemini]
file_upload_wire_format = "gemini"
files_api_supported = true
[[provider.anthropic]]
model_match = "claude-haiku-*"
version_min = [4, 7]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
structured_output = "tool_use"
thinking_modes = ["adaptive"]
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "claude-opus-*"
version_min = [4, 7]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
structured_output = "tool_use"
thinking_modes = ["adaptive"]
interleaved_thinking_supported = true
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "claude-sonnet-*"
version_min = [4, 7]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
structured_output = "tool_use"
thinking_modes = ["adaptive"]
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "claude-haiku-*"
version_min = [4, 5]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
structured_output = "tool_use"
thinking_modes = ["enabled"]
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = true
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "claude-opus-*"
version_min = [4, 6]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
json_schema = "tool_use"
thinking_modes = ["enabled"]
interleaved_thinking_supported = true
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "claude-opus-*"
version_min = [4, 0]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
structured_output = "tool_use"
thinking_modes = ["enabled"]
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = true
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "claude-sonnet-*"
version_min = [4, 6]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
structured_output = "tool_use"
thinking_modes = ["enabled"]
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "claude-sonnet-*"
version_min = [4, 0]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
structured_output = "tool_use"
thinking_modes = ["enabled"]
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = true
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "anthropic/claude-haiku-*"
version_min = [4, 7]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
structured_output = "tool_use"
thinking_modes = ["adaptive"]
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "anthropic/claude-opus-*"
version_min = [4, 7]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
structured_output = "tool_use"
thinking_modes = ["adaptive"]
interleaved_thinking_supported = true
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "anthropic/claude-sonnet-*"
version_min = [4, 7]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
structured_output = "tool_use"
thinking_modes = ["adaptive"]
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "anthropic/claude-haiku-*"
version_min = [4, 5]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
structured_output = "tool_use"
thinking_modes = ["enabled"]
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = true
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "anthropic/claude-opus-*"
version_min = [4, 6]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
json_schema = "tool_use"
thinking_modes = ["enabled"]
interleaved_thinking_supported = true
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "anthropic/claude-opus-*"
version_min = [4, 0]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
structured_output = "tool_use"
thinking_modes = ["enabled"]
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = true
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "anthropic/claude-sonnet-*"
version_min = [4, 6]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
structured_output = "tool_use"
thinking_modes = ["enabled"]
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "anthropic/claude-sonnet-*"
version_min = [4, 0]
native_tools = true
defer_loading = true
tool_search = ["bm25", "regex"]
max_tools = 10000
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
structured_output = "tool_use"
thinking_modes = ["enabled"]
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = true
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.anthropic]]
model_match = "claude-*"
native_tools = true
prompt_caching = true
vision = true
audio_supported = true
pdf_supported = true
files_api_supported = true
structured_output = "tool_use"
thinking_modes = ["enabled"]
vision_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = true
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.openai]]
model_match = "gpt-4o*"
native_tools = true
vision = true
audio_supported = true
structured_output = "native"
vision_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.openai]]
model_match = "gpt-4.1*"
native_tools = true
vision_supported = true
structured_output = "native"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.openai]]
model_match = "gpt-*"
version_min = [5, 4]
native_tools = true
defer_loading = true
tool_search = ["hosted", "client"]
vision_supported = true
structured_output = "native"
thinking_modes = ["effort"]
reasoning_effort_supported = true
reasoning_none_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.openai]]
model_match = "gpt-*"
version_min = [5, 1]
native_tools = true
vision_supported = true
structured_output = "native"
thinking_modes = ["effort"]
reasoning_effort_supported = true
reasoning_none_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.openai]]
model_match = "gpt-*"
version_min = [5, 0]
native_tools = true
vision_supported = true
structured_output = "native"
thinking_modes = ["effort"]
reasoning_effort_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.openai]]
model_match = "gpt-*"
native_tools = true
structured_output = "native"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.openai]]
model_match = "o1*"
native_tools = true
structured_output = "native"
thinking_modes = ["effort"]
requires_completion_tokens = true
reasoning_effort_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = true
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.openai]]
model_match = "o3*"
native_tools = true
structured_output = "native"
thinking_modes = ["effort"]
requires_completion_tokens = true
reasoning_effort_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = true
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.openai]]
model_match = "o4*"
native_tools = true
structured_output = "native"
thinking_modes = ["effort"]
vision_supported = true
requires_completion_tokens = true
reasoning_effort_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = true
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.openai]]
model_match = "openai/gpt-4o*"
native_tools = true
vision = true
audio_supported = true
structured_output = "native"
vision_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.openai]]
model_match = "openai/gpt-4.1*"
native_tools = true
vision_supported = true
structured_output = "native"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.openai]]
model_match = "openai/gpt-*"
version_min = [5, 4]
native_tools = true
defer_loading = true
tool_search = ["hosted", "client"]
vision_supported = true
structured_output = "native"
thinking_modes = ["effort"]
reasoning_effort_supported = true
reasoning_none_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.openai]]
model_match = "openai/gpt-*"
version_min = [5, 1]
native_tools = true
json_schema = "native"
thinking_modes = ["effort"]
reasoning_effort_supported = true
reasoning_none_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.openai]]
model_match = "openai/gpt-*"
version_min = [5, 0]
native_tools = true
json_schema = "native"
thinking_modes = ["effort"]
reasoning_effort_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.openai]]
model_match = "openai/gpt-*"
native_tools = true
structured_output = "native"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.openai]]
model_match = "openai/o1*"
native_tools = true
json_schema = "native"
thinking_modes = ["effort"]
requires_completion_tokens = true
reasoning_effort_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = true
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.openai]]
model_match = "openai/o3*"
native_tools = true
json_schema = "native"
thinking_modes = ["effort"]
requires_completion_tokens = true
reasoning_effort_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = true
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.openai]]
model_match = "openai/o4*"
native_tools = true
json_schema = "native"
thinking_modes = ["effort"]
vision_supported = true
requires_completion_tokens = true
reasoning_effort_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = true
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.ollama]]
model_match = "llava*"
vision_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.ollama]]
model_match = "bakllava*"
vision_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.ollama]]
model_match = "llama3.2-vision*"
vision_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.ollama]]
model_match = "gemma3*"
vision_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.ollama]]
model_match = "gemma4*"
vision_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.ollama]]
model_match = "qwen3.6*"
native_tools = false
structured_output = "format_kw"
thinking_modes = ["enabled"]
preserve_thinking = true
server_parser = "none"
honors_chat_template_kwargs = false
recommended_endpoint = "/api/chat"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.ollama]]
model_match = "qwen3*"
native_tools = true
structured_output = "format_kw"
thinking_modes = ["enabled"]
server_parser = "ollama_qwen3coder"
honors_chat_template_kwargs = false
recommended_endpoint = "/api/generate-raw"
text_tool_wire_format_supported = false
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.llamacpp]]
model_match = "*qwen3.6*"
native_tools = false
structured_output = "native"
thinking_modes = ["enabled"]
preserve_thinking = true
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.llamacpp]]
model_match = "*qwen3*"
native_tools = false
structured_output = "native"
thinking_modes = ["enabled"]
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.llamacpp]]
model_match = "*devstral-small-2*"
native_tools = false
structured_output = "native"
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.ollama]]
model_match = "devstral-small-2*"
native_tools = false
structured_output = "format_kw"
server_parser = "none"
honors_chat_template_kwargs = false
recommended_endpoint = "/api/chat"
text_tool_wire_format_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.local]]
model_match = "*qwen3.6*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled"]
preserve_thinking = true
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.local]]
model_match = "*qwen3*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled"]
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.local]]
model_match = "gemma-4*"
thinking_modes = ["enabled"]
server_parser = "none"
honors_chat_template_kwargs = false
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.mlx]]
model_match = "*qwen3.6*"
native_tools = true
vision = true
structured_output = "native"
thinking_modes = ["enabled"]
preserve_thinking = true
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.mlx]]
model_match = "*qwen3*"
native_tools = true
vision = true
structured_output = "native"
thinking_modes = ["enabled"]
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.dashscope]]
model_match = "qwen3.6*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled"]
preserve_thinking = true
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.dashscope]]
model_match = "qwen*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled"]
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.fireworks]]
model_match = "*qwen3.6*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled"]
preserve_thinking = true
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.fireworks]]
model_match = "*qwen3p6*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled"]
preserve_thinking = true
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.fireworks]]
model_match = "*qwen*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled"]
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.openrouter]]
model_match = "qwen/qwen3.6*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled", "effort"]
preserve_thinking = true
server_parser = "none"
honors_chat_template_kwargs = false
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.openrouter]]
model_match = "qwen/qwen3-coder*"
native_tools = true
structured_output = "native"
server_parser = "none"
honors_chat_template_kwargs = false
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.openrouter]]
model_match = "qwen/*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled", "effort"]
server_parser = "none"
honors_chat_template_kwargs = false
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.huggingface]]
model_match = "qwen/qwen3.6*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled"]
preserve_thinking = true
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.huggingface]]
model_match = "qwen/qwen3-coder*"
native_tools = true
structured_output = "native"
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.huggingface]]
model_match = "qwen/*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled"]
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.together]]
model_match = "qwen/qwen3.6*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled"]
preserve_thinking = true
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.together]]
model_match = "qwen/qwen3-coder*"
native_tools = true
structured_output = "native"
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.together]]
model_match = "qwen/*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled"]
server_parser = "none"
honors_chat_template_kwargs = true
recommended_endpoint = "/v1/chat/completions"
text_tool_wire_format_supported = true
thinking_disable_directive = "/no_think"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.together]]
model_match = "deepseek-ai/deepseek-v3*"
native_tools = true
thinking_modes = ["enabled"]
prompt_caching = true
structured_output = "native"
server_parser = "none"
honors_chat_template_kwargs = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.huggingface]]
model_match = "deepseek-ai/deepseek-v3*"
native_tools = true
thinking_modes = ["enabled"]
prompt_caching = true
structured_output = "native"
server_parser = "none"
honors_chat_template_kwargs = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.openrouter]]
model_match = "deepseek/deepseek-v3*"
native_tools = true
thinking_modes = ["enabled", "effort"]
prompt_caching = true
structured_output = "native"
server_parser = "none"
honors_chat_template_kwargs = false
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.openrouter]]
model_match = "google/gemini-2.5*"
native_tools = true
thinking_modes = ["enabled", "effort"]
prompt_caching = true
vision_supported = true
vision = true
audio_supported = true
pdf_supported = true
structured_output = "native"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.gemini]]
model_match = "gemini-2.5*"
thinking_modes = ["enabled", "adaptive", "effort"]
vision_supported = true
audio_supported = true
pdf_supported = true
files_api_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.gemini]]
model_match = "models/gemini-2.5*"
thinking_modes = ["enabled", "adaptive", "effort"]
vision_supported = true
audio_supported = true
pdf_supported = true
files_api_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.gemini]]
model_match = "gemini-*"
vision_supported = true
audio_supported = true
pdf_supported = true
files_api_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.gemini]]
model_match = "models/gemini-*"
vision_supported = true
audio_supported = true
pdf_supported = true
files_api_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.openrouter]]
model_match = "google/gemma-4*"
native_tools = true
structured_output = "native"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.together]]
model_match = "openai/gpt-oss-*"
structured_output = "native"
thinking_modes = ["effort"]
reasoning_effort_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.together]]
model_match = "deepseek-ai/deepseek-v4*"
native_tools = true
thinking_modes = ["enabled", "effort"]
reasoning_effort_supported = true
prompt_caching = true
structured_output = "native"
server_parser = "none"
honors_chat_template_kwargs = false
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.together]]
model_match = "moonshotai/kimi-k2*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled"]
honors_chat_template_kwargs = false
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.together]]
model_match = "zai-org/glm-5*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled"]
honors_chat_template_kwargs = false
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.together]]
model_match = "google/gemma-4*"
native_tools = true
structured_output = "native"
thinking_modes = ["enabled"]
honors_chat_template_kwargs = false
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "inline"
[[provider.together]]
model_match = "moonshotai/*"
native_tools = true
structured_output = "native"
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.bedrock]]
model_match = "anthropic.claude-*"
native_tools = true
message_wire_format = "anthropic"
native_tool_wire_format = "anthropic"
recommended_endpoint = "/model/{model}/converse"
text_tool_wire_format_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.bedrock]]
model_match = "*claude*"
native_tools = true
recommended_endpoint = "/model/{model}/converse"
text_tool_wire_format_supported = true
prefers_xml_scaffolding = true
prefers_markdown_scaffolding = false
structured_output_mode = "xml_tagged"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = true
thinking_block_style = "thinking_blocks"
[[provider.bedrock]]
model_match = "*"
native_tools = true
recommended_endpoint = "/model/{model}/converse"
text_tool_wire_format_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "delimited"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.azure_openai]]
model_match = "gpt-*"
native_tools = true
recommended_endpoint = "/openai/deployments/{deployment}/chat/completions"
text_tool_wire_format_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[[provider.azure_openai]]
model_match = "o1*"
native_tools = true
recommended_endpoint = "/openai/deployments/{deployment}/chat/completions"
text_tool_wire_format_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = true
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.azure_openai]]
model_match = "o3*"
native_tools = true
recommended_endpoint = "/openai/deployments/{deployment}/chat/completions"
text_tool_wire_format_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = true
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.azure_openai]]
model_match = "o4*"
native_tools = true
recommended_endpoint = "/openai/deployments/{deployment}/chat/completions"
text_tool_wire_format_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = true
prefers_xml_tools = false
thinking_block_style = "reasoning_summary"
[[provider.vertex]]
model_match = "gemini-*"
native_tools = true
recommended_endpoint = "/projects/{project}/locations/{location}/publishers/google/models/{model}:generateContent"
text_tool_wire_format_supported = true
prefers_xml_scaffolding = false
prefers_markdown_scaffolding = true
structured_output_mode = "native_json"
supports_assistant_prefill = false
prefers_role_developer = false
prefers_xml_tools = false
thinking_block_style = "none"
[provider_family]
openrouter = "openai"
together = "openai"
groq = "openai"
deepseek = "openai"
fireworks = "openai"
huggingface = "openai"
local = "openai"
dashscope = "openai"
llamacpp = "openai"
mlx = "openai"