Skip to content

[Bug]: Local CLI terminal repeatedly prints setlocale warnings for en_US.UTF-8 on Fedora 43 #3216

@StevenIsaacs

Description

@StevenIsaacs

Current Behavior

The following was generated by Wave AI when characterizing the problem. Rather than cut/paste for other fields (PITA) all info is provided here.

Title: Local CLI terminal repeatedly prints setlocale warnings for en_US.UTF-8 on Fedora 43

Environment

  • Wave version: Client Version 0.14.4 (202603271721)
  • Platform: Local Machine
  • OS: Fedora Linux 43 (Workstation Edition) (amd64)
  • User shell: bash 5.3.0(1)-release
  • Widgets open when reproducing:
    • Local CLI terminal, no shell integration, directory /home/$USER
    • Local CLI terminal (bash), directory /home/$USER

Summary

When opening a Local CLI terminal, bash prints multiple setlocale warnings about en_US.UTF-8 on every start, even though my system locale is en_US.utf8 and works correctly in regular terminals outside of Wave.

Steps to Reproduce

  1. On Fedora 43 Workstation, with system locale configured as en_US.utf8:

    • In a standard terminal (outside Wave):

      env | grep -E '^(LANG|LC_)'
      locale -a | grep -i 'en_US'

      Output (simplified):

      LANG=en_US.utf8
      LC_ALL=
      
      en_US
      en_US.iso88591
      en_US.iso885915
      en_US.utf8
      
  2. Start Wave.

  3. Open a Local CLI terminal to the local machine (no special settings changed).

  4. Observe the first lines printed by bash at startup.

Actual Behavior

On every new Local CLI terminal, bash prints a series of warnings like:

bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory
bash: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory

This repeats several times before the shell prompt appears.

Immediately after the prompt, the locale environment looks normal:

env | grep -E '^(LANG|LC_)'
# Output:
LANG=en_US.utf8
LC_ALL=

locale -a inside the Wave terminal shows:

en_US
en_US.iso88591
en_US.iso885915
en_US.utf8

So en_US.UTF-8 is not present, but en_US.utf8 is.

Expected Behavior

  • Wave’s Local CLI terminal should either:
    • Not set LC_CTYPE / LC_COLLATE / LANG to en_US.UTF-8 if that locale does not exist in its environment, or
    • Provide a matching en_US.UTF-8 locale in the environment it uses.
  • No setlocale warnings should appear at shell startup.

Additional Details / Attempts to Work Around

  • Installing locale sources and running localedef for en_US.UTF-8 on the Fedora host:

    sudo dnf install glibc-locale-source
    sudo localedef -v -c -i en_US -f UTF-8 en_US.UTF-8

    succeeds on the host, but inside Wave’s Local CLI terminal locale -a still does not list en_US.UTF-8, only en_US.utf8.

  • I added the following to ~/.bashrc:

    # Work around bad locale from Wave
    for v in LC_CTYPE LC_COLLATE LANG; do
      val=$(eval "printf '%s' \"\$$v\"")
      if [ "$val" = "en_US.UTF-8" ]; then
        export "$v=en_US.utf8"
      fi
    done

    This normalizes the variables after startup, but the warnings are still printed before .bashrc runs.

  • In Wave’s Settings UI I only see:

    • General, Connections, Sidebar Widgets, Wave AI Modes, Tab Backgrounds, Secrets
      There is no visible profile editor or env‑var editor for the local CLI terminal, and the widget gear menu does not have “Edit Profile” / “Change command”.

Hypothesis

Wave’s Local CLI terminal is pre‑setting LC_CTYPE / LC_COLLATE to en_US.UTF-8 in a sandbox/container that doesn’t contain that locale (only en_US.utf8), causing setlocale() to fail multiple times at bash startup. Because these values are injected before any user shell config runs, it’s not currently possible to silence the warnings cleanly from user space.

Request

  • Please:
    • Stop forcing LC_* to en_US.UTF-8 when that locale isn’t available, or
    • Add en_US.UTF-8 to the local CLI environment, and/or
    • Expose a way in Settings to configure env vars / command for the Local CLI terminal profile.
  • In the meantime, any recommended workaround that avoids the startup warnings (not just fixing the env after the fact) would be appreciated.

Expected Behavior

See Current Behavior

Steps To Reproduce

See Current Behavior

Wave Version

Client Version 0.14.4 (202603271721)

Platform

Linux

OS Version/Distribution

Fedora 43

Architecture

x64

Anything else?

See Current Behavior

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriageNeeds triage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions