Configuration
Lacy is configured via ~/.lacy/config.yaml. All settings are optional — defaults work out of the box.
Quick edit
lacy config # show current config
lacy config edit # open in $EDITORFull config reference
# ~/.lacy/config.yaml
agent_tools:
# Active AI tool: lash | claude | opencode | gemini | codex | hermes | custom | (empty for auto-detect)
active: lash
# custom_command: "my-ai-tool --flag" # used when active: custom
api_keys:
# Only needed if using built-in API integration (not a CLI tool)
openai: "sk-..."
anthropic: "sk-..."
modes:
# Default mode on shell start: auto | shell | agent
default: auto
# Preheat: keep agents warm between queries (lash/opencode only)
# preheat:
# eager: false # Start background server on plugin load (default: false)
# server_port: 4096 # Port for background server
# Terminal context settings
# context:
# output_lines: 50 # Max lines of terminal output to capture (default: 50)agent_tools.active
The AI tool Lacy uses for agent queries. Persists when you run tool set <name>.
Leave empty or omit for auto-detection (first installed tool in: lash, claude, opencode, gemini, codex, hermes).
agent_tools.custom_command
Used when active: custom. Lacy appends the user query as the last argument.
agent_tools:
active: custom
custom_command: "my-ai-tool --model gpt-4 --stream"modes.default
The routing mode on shell start. Can be overridden at any time with the modecommand or Ctrl+Space.
preheat
Preheating keeps a background server warm for lash and opencode, eliminating cold-start latency on the first query.
eager: true starts the background server when your shell loads.eager: false (default) starts it on first query.
context.output_lines
Maximum lines of terminal output to capture and send with agent queries. Set to 0 to disable terminal output capture entirely.