Skip to main content
Configuration and Security

Output Style

Adjust the tone, verbosity, and structure of responses, overlaying instructions on top of the system prompt without altering Qoder's core identity and security constraints.

Output Style is used to adjust the tone, verbosity, and structure of Qoder CLI responses. For example, you might prefer more concise replies, a more instructional tone, or a specific structure. By selecting or customizing an output style, you can align Qoder's expression with your personal or team preferences without having to repeat instructions in every conversation. Output Style only affects the "way of expression" and does not alter Qoder's core identity or security constraints—it merely appends additional instructions on top of the System Prompt, and cannot replace or bypass built-in behavioral guidelines.

How to Set

The output style is specified via the configuration item outputStyle (top-level key), with the value being the style name:
{
  "outputStyle": "concise"
}
It is also compatible when placed under general.outputStyle; if configured in both places, the top-level setting takes precedence. After modifying outputStyle, you need to restart Qoder CLI for the changes to take effect. If you only want to use a specific style temporarily, you can specify it using the --output-style parameter at startup:
qodercli --output-style concise
This parameter only applies to the current session, takes precedence over configuration items, and does not require a restart. For the full list of parameters, see CLI Commands and Parameters. If this item is not set, or if it is set to the default style, Qoder uses its built-in default expression without appending any additional style.

Style Sources and Priority

Output styles can come from multiple sources. When styles with the same name appear in multiple sources, they are merged according to the following priority, where the latter overrides the former:
  1. Built-in style: Preset styles provided with Qoder CLI.
  2. Plugin-provided styles: Styles declared by enabled plugins.
  3. User-Level Style: Styles from user-level configuration.
  4. Project-Level Style: Styles from project-level configuration.
In other words, a project-level style with the same name overrides the user-level one, and the user-level one overrides plugin-provided and built-in styles. Additionally, some plugins can declare a "forced style". When a forced style exists, it takes precedence over the style specified by outputStyle; if there are multiple forced styles, the first one takes effect and a warning is logged.

Custom Output Style

In addition to using built-in and plugin-provided styles, you can also define your own styles to solidify and reuse common expression preferences.

How to Define

Custom styles are Markdown files (.md) placed in specified directories, with each file defining one style:
  • User-level: ~/.qoder/output-styles/, applies to all projects.
  • Project-level: <project>/.qoder/output-styles/, applies only to the current project.
The file consists of an optional YAML frontmatter and the body. The body contains the style instructions appended to the System Prompt:
---
name: concise-cn
description: Concise Chinese reply style
---

Keep replies as concise as possible, stating the conclusion before the reasoning.
Avoid repeating information the user already knows, and include only the essential parts in code examples.
frontmatter FieldRequiredDescription
nameNoStyle name; defaults to the filename (without .md) if omitted.
descriptionNoStyle description; defaults to the first non-heading line of the body if omitted.
After creation, you can enable it by referencing its name via outputStyle in the configuration (requires a restart to take effect). When referencing a plugin-provided style, include the plugin prefix, such as plugin-name:style-name.

Writing Guidelines

Guidelines for writing custom styles:
  • Focus on expression: Describe preferences regarding tone, verbosity, and structure rather than task logic.
  • Keep it concise: Style instructions are appended to the System Prompt; overly long instructions will consume context.
  • Do not attempt to override security constraints: Styles can only extend the way of expression and cannot alter Qoder's identity or security guidelines.

Relationship with Other Mechanisms

  • Language Settings: language controls the language used in responses, while outputStyle controls the expression style. The two can be used together.
  • Project Instructions: The project instructions file (AGENTS.md) describes "how to do things in this project" and belongs to project conventions; Output Style describes "how to express" and belongs to expression preferences. They serve different purposes, see Memory.
  • UI Settings: Output Style affects the response text itself, while UI themes, status bars, etc., affect the display layer, see UI and Shortcuts.

Next Steps