Skip to content

Hard-coded response language injected into the system prompt, with no setting to change it #1283

Description

@tatarskii

Summary

Every conversation gets a hard-coded language instruction injected into the system prompt:

Language

Respond in English. This applies to any visible reasoning or thinking text as much as to the answer itself: do not drift into another language mid-conversation, even when earlier context, file contents, or prior turns contain other languages. Only when the user explicitly asks for another language - a translation, or a request to answer in a specific language - follow their request.

There is no setting anywhere - CLI, desktop app, config file, or env var - to change this language or to disable the injection.

Why this is a problem

  • Non-English users have to re-convince the agent to answer in their language in every conversation. Because a system-prompt instruction outranks user messages, the agent frequently still answers in English, or drifts back to it mid-session despite being asked otherwise.
  • Even when persuasion works, it costs extra tokens and friction on every single session ("please respond in Russian", "I asked you to answer in Russian", ...).
  • Thinking text is forced into English too, so even the model's visible reasoning leaks English into an otherwise non-English workflow.
  • Language is purely a user preference. Modern models mirror the user's language just fine when left alone; baking a fixed value into the system prompt with no override makes the product genuinely painful for anyone whose primary language isn't English.

Suggested fix

  1. Make the injected language user-configurable: a language option in the config file, a /language command in the CLI and desktop app, or an env var.
  2. Support an auto (default) mode that removes the injection entirely and lets the agent mirror the user's language naturally.
  3. Ensure an explicit in-chat request ("answer in X") always wins over the injected default - right now the injected instruction is what the model treats as authoritative.

This would remove a daily annoyance for every non-English-speaking user with essentially zero downside for English speakers (English remains the default).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions