Skip to content

Desktop: appearance.fontSize is persisted but not applied to UI or terminal font size #24131

Closed as not planned

Description

@youdotme

Summary

In OpenCode Desktop, changing settings.v3.appearance.fontSize in the desktop app data store is persisted correctly, but it does not change the visible UI font size or the embedded terminal font size.

This makes the desktop font size setting ineffective. It looks like the setting exists in persisted settings and has a setter, but the desktop frontend does not apply it to the CSS font-size variables, and the terminal is initialized with a hard-coded font size.

Environment

  • OpenCode Desktop: 1.14.22
  • OpenCode CLI sidecar: 1.14.22
  • OS: macOS, Apple Silicon
  • App bundle: /Applications/OpenCode.app
  • Desktop settings store: ~/Library/Application Support/ai.opencode.desktop/default.dat

Reproduction

  1. Quit OpenCode Desktop completely.
  2. Edit the desktop settings store:
file="$HOME/Library/Application Support/ai.opencode.desktop/default.dat"
jq --argjson size 18 '
  .["settings.v3"] |= (fromjson | .appearance.fontSize = $size | tojson)
' "$file" > /tmp/opencode-default.dat && mv /tmp/opencode-default.dat "$file"
  1. Verify the setting was persisted:
jq -r '.["settings.v3"] | fromjson | .appearance' \
  "$HOME/Library/Application Support/ai.opencode.desktop/default.dat"

Example output:

{
  "fontSize": 18,
  "mono": "Google Sans Mono",
  "sans": "Sarasa UI SC",
  "terminal": "Sarasa Mono SC"
}
  1. Relaunch OpenCode Desktop.

Expected behavior

The desktop UI font size should reflect appearance.fontSize, or the setting should not be persisted/exposed if it is not supported.

The embedded terminal should also use the configured size if the setting is intended to control app-wide text size.

Actual behavior

The value is persisted, but the visible font size remains unchanged after relaunch.

Notes from local inspection

Inspecting the bundled desktop binaries shows that the setting schema/default includes appearance:{fontSize:14,mono:"",sans:"",terminal:""} and a setter for appearance.fontSize.

However, the desktop settings init effect appears to only apply --font-family-mono and --font-family-sans. I did not find a corresponding application of appearance.fontSize to variables such as --font-size-base, --font-size-small, or --font-size-large.

Also, the terminal initialization appears to pass a hard-coded fontSize: 14.

So the persisted appearance.fontSize value seems disconnected from both the CSS variables used by the UI and the terminal renderer option.

Activity

  1. github-actions commented on Apr 24, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

  2. removed
    webRelates to opencode on web / desktop
    on May 3, 2026
  3. github-actions commented on Jul 4, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

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

Metadata

Metadata

Assignees

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