Profiles
A profile is a named bundle of settings you select with --profile. Profiles are the fast way to keep several provider and model setups side by side and switch between them without editing config or passing a long string of flags each time.
Define a profile
Section titled “Define a profile”Each profile lives under [profiles.*] in the config file and can set its own provider, model, key, and base URL:
[profiles.deepseek]provider = "openai"model = "deepseek-chat"api_key = "sk-xxx"base_url = "https://api.deepseek.com"
[profiles.ollama]provider = "openai"model = "qwen2.5:32b"base_url = "http://localhost:11434/v1"Select one at run time:
wayland-core --profile deepseek "Summarize this repo"wayland-core --profile ollama "Draft a commit message"Inherit with extends
Section titled “Inherit with extends”A profile can pull settings from another with extends, so shared values stay in one place and each child overrides only what differs. This is how you keep a fast and a deep profile that share a key but use different models:
[profiles.base-anthropic]provider = "anthropic"api_key = "sk-ant-xxx"
[profiles.claude-fast]extends = "base-anthropic"model = "claude-haiku-4-5-20251001"max_tokens = 4096
[profiles.claude-deep]extends = "base-anthropic"model = "claude-opus-4-20250514"max_tokens = 16384Inheritance chains can be multiple levels deep. The engine detects circular extends references and rejects them. Child settings always override the parent.
Pin MCP servers per profile
Section titled “Pin MCP servers per profile”A profile can name which MCP servers it uses, so a dev profile loads tooling that a quick-question profile leaves out:
[profiles.dev]extends = "base-anthropic"model = "claude-sonnet-4-20250514"mcp_servers = ["filesystem", "github"]Alias providers
Section titled “Alias providers”If your backend speaks a built-in provider’s protocol, define a custom provider alias and point a profile at it. The alias entry sets provider to one of anthropic, openai, bedrock, or vertex, and overrides model, api_key, and base_url. See Providers and Auth for the alias rules.