2 "$schema": "https://json-schema.org/draft/2020-12/schema",
3 "$id": "https://github.com/charmbracelet/crush/internal/config/config",
4 "$ref": "#/$defs/Config",
15 "description": "Style of attribution trailer to add to commits",
16 "default": "assisted-by"
20 "description": "Deprecated: use trailer_style instead",
25 "description": "Add Generated with Crush line to commit messages and issues and PRs",
29 "additionalProperties": false,
36 "description": "Maximum depth for the ls tool",
44 "description": "Maximum number of items to return for the ls tool",
51 "additionalProperties": false,
60 "additionalProperties": {
61 "$ref": "#/$defs/SelectedModel"
64 "description": "Model configurations for different model types"
67 "additionalProperties": {
68 "$ref": "#/$defs/ProviderConfig"
71 "description": "AI provider configurations"
74 "$ref": "#/$defs/MCPs",
75 "description": "Model Context Protocol server configurations"
78 "$ref": "#/$defs/LSPs",
79 "description": "Language Server Protocol configurations"
82 "$ref": "#/$defs/Options",
83 "description": "General application options"
86 "$ref": "#/$defs/Permissions",
87 "description": "Permission settings for tool usage"
90 "$ref": "#/$defs/Tools",
91 "description": "Tool configurations"
94 "additionalProperties": {
96 "$ref": "#/$defs/HookConfig"
101 "description": "User-defined shell commands that fire on hook events (e.g. PreToolUse)"
104 "additionalProperties": false,
111 "description": "Friendly display name shown in the TUI for this hook"
115 "description": "Regex pattern tested against the tool name. Empty means match all tools."
119 "description": "Shell command to execute when the hook fires"
123 "description": "Timeout in seconds for the hook command",
127 "additionalProperties": false,
137 "description": "Whether this LSP server is disabled",
142 "description": "Command to execute for the LSP server",
152 "description": "Arguments to pass to the LSP server command"
155 "additionalProperties": {
159 "description": "Environment variables to set to the LSP server command"
174 "description": "File types this LSP server handles"
186 "description": "Files or directories that indicate the project root"
190 "description": "Initialization options passed to the LSP server during initialize request"
194 "description": "LSP server-specific settings passed during initialization"
198 "description": "Timeout in seconds for LSP server initialization",
206 "additionalProperties": false,
210 "additionalProperties": {
211 "$ref": "#/$defs/LSPConfig"
219 "description": "Command to execute for stdio MCP servers",
225 "additionalProperties": {
229 "description": "Environment variables to set for the MCP server"
236 "description": "Arguments to pass to the MCP server command"
245 "description": "Type of MCP connection",
251 "description": "URL for HTTP or SSE MCP servers",
253 "http://localhost:3000/mcp"
258 "description": "Whether this MCP server is disabled",
269 "description": "List of tools from this MCP server to disable"
279 "description": "Allow list of tools from this MCP server"
283 "description": "Timeout in seconds for MCP server connections",
292 "additionalProperties": {
296 "description": "HTTP headers for HTTP/SSE MCP servers"
299 "additionalProperties": false,
306 "additionalProperties": {
307 "$ref": "#/$defs/MCPConfig"
325 "cost_per_1m_in_cached": {
328 "cost_per_1m_out_cached": {
334 "default_max_tokens": {
340 "reasoning_levels": {
346 "default_reasoning_effort": {
349 "supports_attachments": {
353 "$ref": "#/$defs/ModelOptions"
356 "additionalProperties": false,
363 "cost_per_1m_in_cached",
364 "cost_per_1m_out_cached",
366 "default_max_tokens",
368 "supports_attachments"
382 "frequency_penalty": {
385 "presence_penalty": {
388 "provider_options": {
392 "additionalProperties": false,
406 "description": "Paths to files containing context information for the AI"
408 "global_context_paths": {
413 "description": "Paths to files containing global context information for the AI",
415 "~/.config/crush/CRUSH.md",
416 "~/.config/AGENTS.md"
423 "~/.config/crush/skills",
428 "description": "Paths to directories containing Agent Skills (folders with SKILL.md files)"
431 "$ref": "#/$defs/TUIOptions",
432 "description": "Terminal user interface options"
436 "description": "Enable debug logging",
441 "description": "Enable debug logging for LSP servers",
444 "disable_auto_summarize": {
446 "description": "Disable automatic conversation summarization",
451 "description": "Directory for storing application data. Relative paths are resolved against the working directory; absolute paths are used as-is.",
466 "description": "List of built-in tools to disable and hide from the agent"
468 "disable_provider_auto_update": {
470 "description": "Disable providers auto-update",
473 "disable_default_providers": {
475 "description": "Ignore all default/embedded providers. When enabled, providers must be fully specified in the config file with base_url, models, and api_key - no merging with defaults occurs",
479 "$ref": "#/$defs/Attribution",
480 "description": "Attribution settings for generated content"
484 "description": "Disable sending metrics",
489 "description": "Name of the context file to create/update during project initialization",
490 "default": "AGENTS.md",
500 "description": "Automatically setup LSPs based on root markers",
505 "description": "Show indeterminate progress updates during long operations",
508 "disable_notifications": {
510 "description": "Deprecated: Use notification_style instead. Disable desktop notifications",
513 "notification_style": {
522 "description": "Notification style to use. Options: auto (default)",
533 "description": "List of skill names to disable and hide from the agent"
536 "additionalProperties": false,
550 "description": "List of tools that don't require permission prompts"
553 "additionalProperties": false,
560 "description": "Unique identifier for the provider",
567 "description": "Human-readable name for the provider",
575 "description": "Base URL for the provider's API",
577 "https://api.openai.com/v1"
599 "description": "Provider type that determines the API format",
604 "description": "API key for authentication with the provider",
610 "$ref": "#/$defs/Token",
611 "description": "OAuth2 token for authentication with the provider"
615 "description": "Whether this provider is disabled",
618 "system_prompt_prefix": {
620 "description": "Custom prefix to add to system prompts for this provider"
623 "additionalProperties": {
627 "description": "Additional HTTP headers to send with requests"
631 "description": "Additional fields to include in request bodies, only works with openai-compatible providers"
633 "provider_options": {
635 "description": "Additional provider-specific options for this provider"
639 "description": "Flat-rate mode for this provider"
643 "description": "Auto-discover models from /v1/models endpoint. When true with existing models they are merged (yours win)",
648 "$ref": "#/$defs/Model"
651 "description": "List of models available from this provider"
654 "additionalProperties": false,
661 "description": "The model ID as used by the provider API",
668 "description": "The model provider ID that matches a key in the providers config",
673 "reasoning_effort": {
680 "description": "Reasoning effort level for OpenAI models that support it"
684 "description": "Enable thinking mode for Anthropic models that support reasoning"
689 "description": "Maximum number of tokens for model responses",
698 "description": "Sampling temperature",
707 "description": "Top-p (nucleus) sampling parameter",
714 "description": "Top-k sampling parameter"
716 "frequency_penalty": {
718 "description": "Frequency penalty to reduce repetition"
720 "presence_penalty": {
722 "description": "Presence penalty to increase topic diversity"
724 "provider_options": {
726 "description": "Additional provider-specific options for the model"
729 "additionalProperties": false,
740 "description": "Enable compact mode for the TUI interface",
749 "description": "Diff mode for the TUI interface"
758 "description": "TUI color scheme",
762 "$ref": "#/$defs/Completions",
763 "description": "Completions UI options"
767 "description": "Enable transparent background for the TUI interface",
777 "description": "Chat scrollbar visibility",
781 "additionalProperties": false,
799 "additionalProperties": false,
812 "description": "Timeout for the glob tool call"
815 "additionalProperties": false,
822 "description": "Timeout for the grep tool call"
825 "additionalProperties": false,
832 "description": "Maximum depth for the ls tool",
840 "description": "Maximum number of items to return for the ls tool",
847 "additionalProperties": false,
853 "$ref": "#/$defs/ToolLs"
856 "$ref": "#/$defs/ToolGrep"
859 "$ref": "#/$defs/ToolGlob"
862 "additionalProperties": false,
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list