-
-
Notifications
You must be signed in to change notification settings - Fork 2
Getting Started
After installation, you can generate the configuration files and directories by simply running:
coyote --infoThen, you need to set up the Coyote vault. On your first run, Coyote walks you through choosing a secrets provider (Local, AWS Secrets Manager, GCP Secret Manager, Azure Key Vault, gopass, or 1Password) and configuring it. See the vault documentation for the full list of providers and configuration details. To get started, you can run:
coyote --list-secretsEach client in your configuration needs authentication (with a few exceptions; e.g. ollama). Most clients use an API key
(set via api_key in the config or through the vault). For providers that support OAuth (e.g. Claude Pro/Max
subscribers, Google Gemini), you can authenticate with your existing subscription instead:
# In your config.yaml
clients:
- type: claude
name: my-claude-oauth
auth: oauth # Indicate you want to authenticate with OAuth instead of an API keycoyote --authenticate my-claude-oauth
# Or via the REPL: .authenticateFor full details, see the authentication documentation.
The location of the global Coyote configuration varies between systems, so you can use the following command to find your
config.yaml file:
coyote --info | grep 'config_file' | awk '{print $2}'The configuration file consists of a number of settings. To see a full example configuration file with every setting defined, refer to the example configuration file.
The following settings are available to configure the default LLM that is used when you start Coyote, and its hyperparameters:
| Setting | Description |
|---|---|
model |
The default LLM to use when no model is provided |
temperature |
The default temperature parameter for all models (0,1); Used unless explicitly overridden |
top_p |
The default top_p hyperparameter value to use for all models, with a range of (0,1) (or (0,2) for some models); Used unless explicitly overridden |
You can use the following settings to modify the behavior of Coyote:
| Setting | Default Value | Description |
|---|---|---|
stream |
true |
Controls whether to use stream-style APIs when querying for completions from LLM providers |
save |
true |
Controls whether to save each query/response to every model to messages.md for posterity; Useful for debugging |
keybindings |
emacs |
Specifies which keybinding schema to use; can either be emacs or vi
|
editor |
null |
What text editor Coyote should use to edit the input buffer or session (e.g. vim, emacs, nano, hx); Defaults to $EDITOR
|
wrap |
no |
Controls whether text is wrapped (can be no, auto, or some <max_width>
|
wrap_code |
false |
Enables or disables the wrapping of code blocks |
Preludes let you define the default behavior for the different operating modes of Coyote. The available settings are shown below:
| Setting | Description |
|---|---|
repl_prelude |
This setting lets you specify a default session or role to use when starting Coyote in REPL mode. Values can be
|
cmd_prelude |
This setting lets you specify a default session or role to use when running one-off queries in Coyote via the CLI. Values can be
|
agent_session |
This setting is used to specify a default session that all agents should start into, unless otherwise specified in the agent configuration. (e.g. temp, default) |
The appearance of Coyote can be modified using the following settings:
| Setting | Default Value | Description |
|---|---|---|
highlight |
true |
This setting enables or disables syntax highlighting |
light_theme |
false |
This setting toggles light mode in Coyote |
| Setting | Default Value | Description |
|---|---|---|
user_agent |
null |
The name of the User-Agent that should be passed in the User-Agent header on all requests to model providers |
save_shell_history |
true |
Enables or disables REPL command history |