{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/qwen-code-settings.json","title":"Qwen Code Settings","description":"Configuration file for Qwen Code","type":"object","properties":{"$schema":{"type":"string","description":"URL or path to the JSON schema for this configuration file"},"$version":{"type":"integer","description":"Schema version identifier"},"general":{"type":"object","description":"General configuration options","properties":{"preferredEditor":{"type":"string","description":"The preferred editor to open files in"},"vimMode":{"type":"boolean","description":"Enable Vim keybindings","default":false},"enableAutoUpdate":{"type":"boolean","description":"Enable automatic update checks and installations on startup","default":true},"gitCoAuthor":{"type":"boolean","description":"Automatically add a Co-authored-by trailer to git commit messages","default":true},"checkpointing":{"type":"object","description":"Session checkpointing configuration","properties":{"enabled":{"type":"boolean","description":"Enable session checkpointing for recovery","default":false}}},"defaultFileEncoding":{"type":"string","description":"Default encoding for new files","default":"utf-8","enum":["utf-8","utf-8-bom"]}},"additionalProperties":false},"output":{"type":"object","description":"Output configuration","properties":{"format":{"type":"string","description":"The format of the CLI output","default":"text","enum":["text","json"]}},"additionalProperties":false},"ui":{"type":"object","description":"User interface configuration","properties":{"theme":{"type":"string","description":"The color theme for the UI"},"customThemes":{"type":"object","description":"Custom theme definitions","additionalProperties":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","const":"custom"},"Background":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"Foreground":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"AccentBlue":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"AccentPurple":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"AccentCyan":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"AccentGreen":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"AccentYellow":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"AccentRed":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"LightBlue":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"Comment":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"Gray":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"DiffAdded":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"DiffRemoved":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"DiffModified":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"GradientColors":{"type":"array","items":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}}},"required":["name","type"]}},"hideWindowTitle":{"type":"boolean","description":"Hide the window title bar","default":false},"hideTips":{"type":"boolean","description":"Hide helpful tips in the UI","default":false},"hideBanner":{"type":"boolean","description":"Hide the application banner","default":false},"hideFooter":{"type":"boolean","description":"Hide the footer from the UI","default":false},"showMemoryUsage":{"type":"boolean","description":"Display memory usage information in the UI","default":false},"showLineNumbers":{"type":"boolean","description":"Show line numbers in code blocks in the CLI output","default":true},"showCitations":{"type":"boolean","description":"Show citations for generated text in the chat","default":true},"enableWelcomeBack":{"type":"boolean","description":"Show welcome back dialog when returning to a project with conversation history","default":true},"accessibility":{"type":"object","description":"Accessibility configuration","properties":{"enableLoadingPhrases":{"type":"boolean","description":"Enable loading phrases (disable for accessibility)","default":true},"screenReader":{"type":"boolean","description":"Enables screen reader mode, adjusting the TUI for better compatibility","default":false}},"additionalProperties":false},"customWittyPhrases":{"type":"array","description":"Custom phrases to display during loading states","items":{"type":"string"},"default":[]}},"additionalProperties":false},"ide":{"type":"object","description":"IDE integration configuration","properties":{"enabled":{"type":"boolean","description":"Enable IDE integration mode","default":false},"hasSeenNudge":{"type":"boolean","description":"Whether the user has seen the IDE integration nudge","default":false}},"additionalProperties":false},"privacy":{"type":"object","description":"Privacy configuration","properties":{"usageStatisticsEnabled":{"type":"boolean","description":"Enable collection of usage statistics","default":true}},"additionalProperties":false},"model":{"type":"object","description":"Model configuration","properties":{"name":{"type":"string","description":"The Qwen model to use for conversations"},"maxSessionTurns":{"type":"integer","description":"Maximum number of turns to keep in a session (-1 is unlimited)","default":-1},"chatCompression":{"type":"object","description":"Chat history compression configuration","properties":{"contextPercentageThreshold":{"type":"number","description":"Threshold for chat history compression as a percentage of token limit","default":0.7,"minimum":0,"maximum":1}},"additionalProperties":false},"skipNextSpeakerCheck":{"type":"boolean","description":"Skip the next speaker check","default":false},"skipLoopDetection":{"type":"boolean","description":"Disables loop detection checks (use if false positives occur)","default":false},"skipStartupContext":{"type":"boolean","description":"Skips sending the startup workspace context at session start","default":false},"enableOpenAILogging":{"type":"boolean","description":"Enables logging of OpenAI API calls for debugging","default":false},"openAILoggingDir":{"type":"string","description":"Custom directory path for OpenAI API logs"},"generationConfig":{"type":"object","description":"Generation configuration parameters","properties":{"timeout":{"type":"number","description":"Request timeout"},"contextWindowSize":{"type":"integer","description":"Override model's maximum assumed context capacity"},"enableCacheControl":{"type":"boolean","description":"Enable cache control"},"modalities":{"type":"object","description":"Override auto-detected input modalities","properties":{"image":{"type":"boolean"},"pdf":{"type":"boolean"},"audio":{"type":"boolean"},"video":{"type":"boolean"}},"additionalProperties":false},"customHeaders":{"type":"object","description":"Custom HTTP headers for API requests","additionalProperties":{"type":"string"}},"extra_body":{"type":"object","description":"Additional body parameters (OpenAI-compatible providers only)"},"samplingParams":{"type":"object","description":"Fine-tuning knobs (e.g., temperature, top_p, max_tokens)","properties":{"temperature":{"type":"number"},"top_p":{"type":"number"},"max_tokens":{"type":"integer"}}}},"additionalProperties":false}},"additionalProperties":false},"context":{"type":"object","description":"Context configuration","properties":{"fileName":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"The name of the context file(s)"},"importFormat":{"type":"string","description":"The format to use when importing memory"},"includeDirectories":{"type":"array","description":"Additional directories to include in the workspace context","items":{"type":"string"},"default":[]},"loadFromIncludeDirectories":{"type":"boolean","description":"Controls behavior of /memory refresh for included directories","default":false},"fileFiltering":{"type":"object","description":"File filtering configuration","properties":{"respectGitIgnore":{"type":"boolean","description":"Respect .gitignore files when searching","default":true},"respectQwenIgnore":{"type":"boolean","description":"Respect .qwenignore files when searching","default":true},"enableRecursiveFileSearch":{"type":"boolean","description":"Enable recursive file searching for @ completions","default":true},"enableFuzzySearch":{"type":"boolean","description":"Enable fuzzy search capabilities","default":true}},"additionalProperties":false}},"additionalProperties":false},"tools":{"type":"object","description":"Tools configuration","properties":{"sandbox":{"oneOf":[{"type":"boolean"},{"type":"string"}],"description":"Sandbox execution environment (boolean or custom path string)"},"shell":{"type":"object","description":"Shell configuration","properties":{"enableInteractiveShell":{"type":"boolean","description":"Use node-pty for an interactive shell experience","default":false}},"additionalProperties":false},"core":{"type":"array","description":"Allowlist of built-in tools","items":{"type":"string"}},"exclude":{"type":"array","description":"Tool names to exclude from discovery","items":{"type":"string"}},"allowed":{"type":"array","description":"Tools that bypass the confirmation dialog","items":{"type":"string"}},"approvalMode":{"type":"string","description":"Default approval mode for tool usage","default":"default","enum":["plan","default","auto-edit","yolo"]},"discoveryCommand":{"type":"string","description":"Command to run for tool discovery"},"callCommand":{"type":"string","description":"Custom shell command for calling a specific discovered tool"},"useRipgrep":{"type":"boolean","description":"Use ripgrep for file content search","default":true},"useBuiltinRipgrep":{"type":"boolean","description":"Use the bundled ripgrep binary (requires tools.useRipgrep: true)","default":true},"truncateToolOutputThreshold":{"type":"integer","description":"Truncate output if larger than this many characters","default":25000},"truncateToolOutputLines":{"type":"integer","description":"Maximum lines/entries kept when truncating output","default":1000}},"additionalProperties":false},"mcp":{"type":"object","description":"MCP (Model Context Protocol) configuration","properties":{"serverCommand":{"type":"string","description":"Command to start an MCP server"},"allowed":{"type":"array","description":"Allowlist of MCP server names","items":{"type":"string"}},"excluded":{"type":"array","description":"Denylist of MCP server names","items":{"type":"string"}}},"additionalProperties":false},"security":{"type":"object","description":"Security configuration","properties":{"folderTrust":{"type":"object","description":"Folder trust configuration","properties":{"enabled":{"type":"boolean","description":"Setting to track whether Folder trust is enabled","default":false}},"additionalProperties":false},"auth":{"type":"object","description":"Authentication configuration","properties":{"selectedType":{"type":"string","description":"The currently selected authentication type"},"enforcedType":{"type":"string","description":"The required auth type (useful for enterprises)"},"useExternal":{"type":"boolean","description":"Whether to use an external authentication flow"}},"additionalProperties":false}},"additionalProperties":false},"advanced":{"type":"object","description":"Advanced configuration options","properties":{"autoConfigureMemory":{"type":"boolean","description":"Automatically configure Node.js memory limits","default":false},"dnsResolutionOrder":{"type":"string","description":"The DNS resolution order"},"excludedEnvVars":{"type":"array","description":"Environment variables to exclude from project context","items":{"type":"string"},"default":["DEBUG","DEBUG_MODE"]},"tavilyApiKey":{"type":"string","description":"API key for Tavily web search service"},"bugCommand":{"type":"object","description":"Bug command configuration","properties":{"urlTemplate":{"type":"string","description":"A URL that can contain {title} and {info} placeholders for the /bug command"}},"additionalProperties":false}},"additionalProperties":false},"mcpServers":{"type":"object","description":"Model-Context Protocol server configurations","additionalProperties":{"type":"object","description":"MCP server configuration","properties":{"command":{"type":"string","description":"The command to execute to start the MCP server via stdio"},"args":{"type":"array","description":"Arguments to pass to the command","items":{"type":"string"}},"env":{"type":"object","description":"Environment variables to set for the server process","additionalProperties":{"type":"string"}},"cwd":{"type":"string","description":"The working directory in which to start the server"},"url":{"type":"string","description":"The URL of an MCP server using Server-Sent Events (SSE)"},"httpUrl":{"type":"string","description":"The URL of an MCP server using streamable HTTP"},"headers":{"type":"object","description":"A map of HTTP headers to send with requests to url or httpUrl","additionalProperties":{"type":"string"}},"timeout":{"type":"number","description":"Timeout in milliseconds for requests to this MCP server"},"trust":{"type":"boolean","description":"Trust this server and bypass all tool call confirmations"},"description":{"type":"string","description":"A brief description of the server"},"includeTools":{"type":"array","description":"Allowlist of tool names from this MCP server","items":{"type":"string"}},"excludeTools":{"type":"array","description":"Denylist of tool names from this MCP server (takes precedence over includeTools)","items":{"type":"string"}}},"additionalProperties":false}},"telemetry":{"type":"object","description":"Telemetry configuration","properties":{"enabled":{"type":"boolean","description":"Whether or not telemetry is enabled"},"target":{"type":"string","description":"The destination for collected telemetry","enum":["local","gcp"]},"otlpEndpoint":{"type":"string","description":"The endpoint for the OTLP Exporter"},"otlpProtocol":{"type":"string","description":"The protocol for the OTLP Exporter","enum":["grpc","http"]},"logPrompts":{"type":"boolean","description":"Whether or not to include the content of user prompts in the logs"},"outfile":{"type":"string","description":"The file to write telemetry to when target is local"},"useCollector":{"type":"boolean","description":"Whether to use an external OTLP collector"}},"additionalProperties":false}},"additionalProperties":false}