Skip to content

beet modify uses an object string representation instead of the user-defined value when using the 'select' option #7019

Open

Description

@elysio2

Hi! New to beets. Tried renaming a bunch of album artists at once, the search results were too broad however. Using the 'select' option after to narrow down the albums resulted in a stringified object being used as the album artist name. I can't re-do this command since I accepted the changes thinking it was just a bug on the UI side, but it did in fact change the artist in the data as well.

Problem

$ beet modify -a 'Ye' albumartist='Kanye West'

Led to this problem:

[...]
Ye - 808s & Heartbreak
  albumartist: Ye -> Kanye West

[...]
Really modify, move and write tags? (Yes/no/select) select

[...]
Ye - 808s & Heartbreak
  albumartist: Ye -> ModifyOperation(operator=None, value='Kanye West')

Setup

  • OS: macOS Tahoe
  • Python version: 3.14.7
  • beets version: 2.13.1
  • Turning off plugins made problem go away (yes/no): no

My configuration (output of beet config) is:

directory: ~/music-beets
# --------------- Main ---------------

library: ~/beets-data/musiclibrary.db

import:
    move: yes

# --------------- Plugins ---------------

plugins:
- musicbrainz
- chroma
- autobpm
- fromfilename
- lyrics
disabled_plugins: []
musicbrainz:
    search_limit: 5
    data_source_mismatch_penalty: 0.5
    search_query_ascii: no
    genres: no
    genres_tag: genre
    external_ids:
        discogs: no
        bandcamp: no
        spotify: no
        deezer: no
        tidal: no
    extra_tags: []
    aliases_as_credits: no
chroma:
    search_limit: 5
    data_source_mismatch_penalty: 0.5
    auto: yes
autobpm:
    auto: yes
    force: no
    quiet: no
    beat_track_kwargs: {}
lyrics:
    auto: yes
    auto_ignore:
    translate:
        api_key: REDACTED
        from_languages: []
        to_language:
    dist_thresh: 0.11
    google_API_key: REDACTED
    google_engine_ID: REDACTED
    genius_api_key: REDACTED
    lrcmux:
        url: https://api.lrcmux.dev
        sources: []
    fallback:
    force: no
    keep_synced: no
    local: no
    print: no
    rest_directory:
    synced: no
    sources:
    - lrclib
    - google
    - genius
    - lrcmux

Activity

  1. Sabrina04072003 commented on Oct 5, 2026

    @Sabrina04072003
    Contributor

    Hello , i would like work on this issue

  2. snejus commented on Oct 5, 2026

    @snejus
    Member

    Hello , i would like work on this issue

    Please go ahead!

  3. Sabrina04072003 commented on Oct 12, 2026

    @Sabrina04072003
    Contributor

    Hi @snejus, thank you!

    I noticed that this issue was mentioned in another repository (wolfgang-aura/Mailman#103), where a note says that the fix for this issue is already in the code. I looked at the history and found that the fix is commit e584691 ("modify: fix selecting objects"), released in v2.14.0.

    So the bug itself seems to be resolved. The existing tests check selecting items, but I did not find a test for selecting albums with --album, which is the case in this issue.

    If you agree, I would like to add a small regression test for this case. Would that be OK?

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions