# yo configuration -- copy to ~/.yoconf and edit. All directives are optional; # lines starting with # are comments. yo re-reads this on every invocation. # (On Windows, ~ is %USERPROFILE%; on macOS/Linux, it is $HOME.) # Provider: "anthropic" (default), "openai", "grok" (xAI), or "gemini" (Google). # If omitted, yo infers it from whichever key env var is set # ANTHROPIC_API_KEY -> anthropic # OPENAI_API_KEY -> openai # XAI_API_KEY -> grok # GEMINI_API_KEY -> gemini # defaulting to anthropic when none is set. provider anthropic # Model (optional, provider-specific). Defaults: # anthropic -> claude-opus-4-8 # openai -> gpt-5.5 # grok -> grok-4.3 # gemini -> gemini-3.5-flash # model claude-opus-4-8 # API key: set the standard environment variable -- this is the expected path: # ANTHROPIC_API_KEY (anthropic) # OPENAI_API_KEY (openai) # XAI_API_KEY (grok) # GEMINI_API_KEY (gemini) # e.g. in ~/.zshrc: # export ANTHROPIC_API_KEY="sk-ant-..." # or persistently on Windows: # [Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", "sk-ant-...", "User") # You may override it here with a `key` directive, but the env var is preferred. # key sk-ant-... # Base URL override (optional), e.g. a proxy or OpenAI-compatible endpoint. The # path (/messages for anthropic, /responses for openai, /chat/completions for # grok and gemini) is appended. # base_url https://your-proxy.example.com/v1 # Cross-call session memory (optional; default ON). yo keeps a small per-session # history of your recent exchanges (in a temp file) so follow-ups like "delete the # top one" resolve. Set false to disable. # memory true # Debug tracing (optional; default OFF). When on, yo prints a one-line trace of the # scaffolding around each LLM call to stderr: provider/model, your query, the SIZES # of any attached context (never its contents -- no scrollback or command output), # and the response type + pending flag. Useful for seeing whether the model asked # for a continuation. The stdout JSON contract is unaffected. $env:YO_DEBUG # overrides this for a single session (truthy = on). # debug false # Prefill with a leading space (optional; default OFF). When on, prefilled commands # get a single leading space. History tools that ignore space-prefixed lines (e.g. # Atuin) then skip them. PowerShell's Get-History still records them, so the # searchable history can stay free of yo's suggestions while continuation still # sees the command. On bash, HISTCONTROL=ignorespace also drops them from shell # history; on zsh, setopt HIST_IGNORE_SPACE does the same. Verify your tools honor # leading-space before relying on it. # prefill_space false