Skip to content

Theming: Unable to change text input placeholder color #5088

Closed

Description

@b0o

Description

It seems none of the theme keys apply to the placeholder text in input fields:

Image

If I create a custom theme where each color is set to #00FF00, the placeholder text is the only element that is unchanged:

Image

Same with the command palette:

Image
All-Green Theme
{
  "$schema": "https://opencode.ai/theme.json",
  "defs": {},
  "theme": {
    "primary": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "secondary": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "accent": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "error": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "warning": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "success": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "info": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "text": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "textMuted": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "background": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "backgroundPanel": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "backgroundElement": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "border": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "borderActive": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "borderSubtle": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "diffAdded": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "diffRemoved": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "diffContext": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "diffHunkHeader": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "diffHighlightAdded": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "diffHighlightRemoved": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "diffAddedBg": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "diffRemovedBg": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "diffContextBg": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "diffLineNumber": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "diffAddedLineNumberBg": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "diffRemovedLineNumberBg": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "markdownText": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "markdownHeading": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "markdownLink": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "markdownLinkText": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "markdownCode": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "markdownBlockQuote": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "markdownEmph": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "markdownStrong": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "markdownHorizontalRule": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "markdownListItem": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "markdownListEnumeration": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "markdownImage": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "markdownImageText": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "markdownCodeBlock": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "syntaxComment": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "syntaxKeyword": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "syntaxFunction": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "syntaxVariable": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "syntaxString": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "syntaxNumber": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "syntaxType": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "syntaxOperator": {
      "dark": "#00ff00",
      "light": "#00ff00"
    },
    "syntaxPunctuation": {
      "dark": "#00ff00",
      "light": "#00ff00"
    }
  }
}

OpenCode version

1.0.133

Steps to reproduce

Add the example theme I provided, load opencode, select that theme.

Screenshot and/or share link

No response

Operating System

Arch Linux

Terminal

Ghostty

Activity

  1. added
    bugSomething isn't working
    on Dec 5, 2025
  2. added
    opentuiThis relates to changes in v1.0, now that opencode uses opentui
    on Dec 5, 2025
  3. github-actions commented on Dec 5, 2025

    @github-actions
    Contributor

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

    Feel free to ignore if none of these address your specific case.

  4. ariane-emory commented on Dec 5, 2025

    @ariane-emory
    Contributor

    Proposal: how about we add placeholderText as a new, optional theme field to control the colour of placeholder text, falling back to the existing textMuted property if the placeholderText field is not present in the theme?

  5. self-assigned this
    on Dec 13, 2025
  6. removed
    opentuiThis relates to changes in v1.0, now that opencode uses opentui
    on Dec 13, 2025
  7. b0o commented on Mar 26, 2026

    @b0o
    ContributorAuthor

    @thdxr I don't think this has been fixed. Checked latest beta and dev.

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

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions