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": "Regex pattern tested against the tool name. Empty means match all tools."
115 "description": "Shell command to execute when the hook fires"
119 "description": "Timeout in seconds for the hook command",
123 "additionalProperties": false,
133 "description": "Whether this LSP server is disabled",
138 "description": "Command to execute for the LSP server",
148 "description": "Arguments to pass to the LSP server command"
151 "additionalProperties": {
155 "description": "Environment variables to set to the LSP server command"
170 "description": "File types this LSP server handles"
182 "description": "Files or directories that indicate the project root"
186 "description": "Initialization options passed to the LSP server during initialize request"
190 "description": "LSP server-specific settings passed during initialization"
194 "description": "Timeout in seconds for LSP server initialization",
202 "additionalProperties": false,
206 "additionalProperties": {
207 "$ref": "#/$defs/LSPConfig"
215 "description": "Command to execute for stdio MCP servers",
221 "additionalProperties": {
225 "description": "Environment variables to set for the MCP server"
232 "description": "Arguments to pass to the MCP server command"
241 "description": "Type of MCP connection",
247 "description": "URL for HTTP or SSE MCP servers",
249 "http://localhost:3000/mcp"
254 "description": "Whether this MCP server is disabled",
265 "description": "List of tools from this MCP server to disable"
269 "description": "Timeout in seconds for MCP server connections",
278 "additionalProperties": {
282 "description": "HTTP headers for HTTP/SSE MCP servers"
285 "additionalProperties": false,
292 "additionalProperties": {
293 "$ref": "#/$defs/MCPConfig"
311 "cost_per_1m_in_cached": {
314 "cost_per_1m_out_cached": {
320 "default_max_tokens": {
326 "reasoning_levels": {
332 "default_reasoning_effort": {
335 "supports_attachments": {
339 "$ref": "#/$defs/ModelOptions"
342 "additionalProperties": false,
349 "cost_per_1m_in_cached",
350 "cost_per_1m_out_cached",
352 "default_max_tokens",
354 "supports_attachments"
368 "frequency_penalty": {
371 "presence_penalty": {
374 "provider_options": {
378 "additionalProperties": false,
392 "description": "Paths to files containing context information for the AI"
398 "~/.config/crush/skills",
403 "description": "Paths to directories containing Agent Skills (folders with SKILL.md files)"
406 "$ref": "#/$defs/TUIOptions",
407 "description": "Terminal user interface options"
411 "description": "Enable debug logging",
416 "description": "Enable debug logging for LSP servers",
419 "disable_auto_summarize": {
421 "description": "Disable automatic conversation summarization",
426 "description": "Directory for storing application data (relative to working directory)",
441 "description": "List of built-in tools to disable and hide from the agent"
443 "disable_provider_auto_update": {
445 "description": "Disable providers auto-update",
448 "disable_default_providers": {
450 "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",
454 "$ref": "#/$defs/Attribution",
455 "description": "Attribution settings for generated content"
459 "description": "Disable sending metrics",
464 "description": "Name of the context file to create/update during project initialization",
465 "default": "AGENTS.md",
475 "description": "Automatically setup LSPs based on root markers",
480 "description": "Show indeterminate progress updates during long operations",
483 "disable_notifications": {
485 "description": "Disable desktop notifications",
496 "description": "List of skill names to disable and hide from the agent"
499 "additionalProperties": false,
513 "description": "List of tools that don't require permission prompts"
516 "additionalProperties": false,
523 "description": "Unique identifier for the provider",
530 "description": "Human-readable name for the provider",
538 "description": "Base URL for the provider's API",
540 "https://api.openai.com/v1"
553 "description": "Provider type that determines the API format",
558 "description": "API key for authentication with the provider",
564 "$ref": "#/$defs/Token",
565 "description": "OAuth2 token for authentication with the provider"
569 "description": "Whether this provider is disabled",
572 "system_prompt_prefix": {
574 "description": "Custom prefix to add to system prompts for this provider"
577 "additionalProperties": {
581 "description": "Additional HTTP headers to send with requests"
585 "description": "Additional fields to include in request bodies, only works with openai-compatible providers"
587 "provider_options": {
589 "description": "Additional provider-specific options for this provider"
593 "description": "Flat-rate mode for this provider"
597 "$ref": "#/$defs/Model"
600 "description": "List of models available from this provider"
603 "additionalProperties": false,
610 "description": "The model ID as used by the provider API",
617 "description": "The model provider ID that matches a key in the providers config",
622 "reasoning_effort": {
629 "description": "Reasoning effort level for OpenAI models that support it"
633 "description": "Enable thinking mode for Anthropic models that support reasoning"
638 "description": "Maximum number of tokens for model responses",
647 "description": "Sampling temperature",
656 "description": "Top-p (nucleus) sampling parameter",
663 "description": "Top-k sampling parameter"
665 "frequency_penalty": {
667 "description": "Frequency penalty to reduce repetition"
669 "presence_penalty": {
671 "description": "Presence penalty to increase topic diversity"
673 "provider_options": {
675 "description": "Additional provider-specific options for the model"
678 "additionalProperties": false,
689 "description": "Enable compact mode for the TUI interface",
698 "description": "Diff mode for the TUI interface"
701 "$ref": "#/$defs/Completions",
702 "description": "Completions UI options"
706 "description": "Enable transparent background for the TUI interface",
710 "additionalProperties": false,
728 "additionalProperties": false,
741 "description": "Timeout for the grep tool call"
744 "additionalProperties": false,
751 "description": "Maximum depth for the ls tool",
759 "description": "Maximum number of items to return for the ls tool",
766 "additionalProperties": false,
772 "$ref": "#/$defs/ToolLs"
775 "$ref": "#/$defs/ToolGrep"
778 "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